|
| 1 | +#!/usr/bin/env ruby |
| 2 | +require_relative '../init' |
| 3 | + |
| 4 | +require 'cadence/crew' |
| 5 | +require 'cadence/worker' |
| 6 | + |
| 7 | +init = proc do |worker| |
| 8 | + Dir[File.expand_path('../workflows/*.rb', __dir__)].each { |f| require f } |
| 9 | + Dir[File.expand_path('../activities/*.rb', __dir__)].each { |f| require f } |
| 10 | + Dir[File.expand_path('../middleware/*.rb', __dir__)].each { |f| require f } |
| 11 | + |
| 12 | + worker.register_workflow(AsyncActivityWorkflow) |
| 13 | + worker.register_workflow(AsyncHelloWorldWorkflow) |
| 14 | + worker.register_workflow(AsyncTimerWorkflow) |
| 15 | + worker.register_workflow(BranchingWorkflow) |
| 16 | + worker.register_workflow(CancellingTimerWorkflow) |
| 17 | + worker.register_workflow(CheckWorkflow) |
| 18 | + worker.register_workflow(FailingWorkflow) |
| 19 | + worker.register_workflow(HelloWorldWorkflow) |
| 20 | + worker.register_workflow(LocalHelloWorldWorkflow) |
| 21 | + worker.register_workflow(LongWorkflow) |
| 22 | + worker.register_workflow(ParentWorkflow) |
| 23 | + worker.register_workflow(ProcessFileWorkflow) |
| 24 | + worker.register_workflow(ReleaseWorkflow) |
| 25 | + worker.register_workflow(SerialHelloWorldWorkflow) |
| 26 | + worker.register_workflow(SideEffectWorkflow) |
| 27 | + worker.register_workflow(SimpleTimerWorkflow) |
| 28 | + worker.register_workflow(TimeoutWorkflow) |
| 29 | + worker.register_workflow(TripBookingWorkflow) |
| 30 | + |
| 31 | + worker.register_activity(AsyncActivity) |
| 32 | + worker.register_activity(EchoActivity) |
| 33 | + worker.register_activity(GenerateFileActivity) |
| 34 | + worker.register_activity(HelloWorldActivity) |
| 35 | + worker.register_activity(LongRunningActivity) |
| 36 | + worker.register_activity(ProcessFileActivity) |
| 37 | + worker.register_activity(RandomlyFailingActivity) |
| 38 | + worker.register_activity(RandomNumberActivity) |
| 39 | + worker.register_activity(SleepActivity) |
| 40 | + worker.register_activity(UploadFileActivity) |
| 41 | + worker.register_activity(Trip::BookFlightActivity) |
| 42 | + worker.register_activity(Trip::BookHotelActivity) |
| 43 | + worker.register_activity(Trip::CancelCarActivity) |
| 44 | + worker.register_activity(Trip::CancelFlightActivity) |
| 45 | + worker.register_activity(Trip::CancelHotelActivity) |
| 46 | + worker.register_activity(Trip::MakePaymentActivity) |
| 47 | + worker.register_activity(Trip::RentCarActivity) |
| 48 | + |
| 49 | + worker.add_decision_middleware(LoggingMiddleware, 'EXAMPLE') |
| 50 | + worker.add_activity_middleware(LoggingMiddleware, 'EXAMPLE') |
| 51 | +end |
| 52 | + |
| 53 | +worker = Cadence::Worker.new(polling_ttl: 10, thread_pool_size: 20) |
| 54 | +crew = Cadence::Crew.new(worker, 2) |
| 55 | +crew.after_fork &init |
| 56 | +crew.dispatch |
0 commit comments