Init
This commit is contained in:
commit
5fd6457c7a
7 changed files with 247 additions and 0 deletions
42
examples/example.cr
Normal file
42
examples/example.cr
Normal 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
|
Reference in a new issue