This commit is contained in:
Dominic Grimm 2022-02-13 20:59:26 +01:00
commit 5fd6457c7a
7 changed files with 247 additions and 0 deletions

42
examples/example.cr Normal file
View file

@ -0,0 +1,42 @@
require "../src/service"
require "log"
class MessageService < Service
Log = ::Log.for(self)
@@i = 0
getter message
getter delay
getter times
def initialize(@message : String, @delay : Int32, @times : Int32)
end
def run(_unit : Unit) : Service::Unit?
puts @message
@@i += 1
Log.info { @@i }
sleep @delay
if @@i < @times
Service::Unit.new(self)
else
Log.info { "Done." }
nil
end
end
end
class Runner < Service::Runner
def starters : Array(Service::Starter)
[
Service::AsynchronousStarter.new([
MessageService.new("Hello world from AsynchronousStarter!", delay: 1, times: 5).as(Service),
]).as(Service::Starter),
]
end
end
Runner.new.run