Class: AWS::Flow::GenericWorker
- Inherits:
-
Object
- Object
- AWS::Flow::GenericWorker
- Defined in:
- lib/aws/decider/worker.rb
Overview
A generic Activity/Workflow worker class.
Direct Known Subclasses
Instance Method Summary collapse
- #camel_case_to_snake_case(camel_case) ⇒ Object private
-
#initialize(service, domain, task_list_to_poll, *args, &block) ⇒ GenericWorker
constructor
Creates a new ‘GenericWorker`.
- #resolve_default_task_list(name) ⇒ Object
Constructor Details
#initialize(service, domain, task_list_to_poll, *args, &block) ⇒ GenericWorker
Creates a new ‘GenericWorker`.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/aws/decider/worker.rb', line 39 def initialize(service, domain, task_list_to_poll, *args, &block) @service = service @domain = domain @task_list = task_list_to_poll if args args.each { |klass_or_instance| add_implementation(klass_or_instance) } end @shutting_down = false %w{ TERM INT }.each do |signal| Signal.trap(signal) do if @shutting_down @executor.shutdown(0) if @executor Kernel.exit! 1 else @shutting_down = true @shutdown_first_time_function.call if @shutdown_first_time_function end end end end |
Instance Method Details
#camel_case_to_snake_case(camel_case) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
61 62 63 64 65 |
# File 'lib/aws/decider/worker.rb', line 61 def camel_case_to_snake_case(camel_case) camel_case. gsub(/(.)([A-Z])/,'\1_\2'). downcase end |
#resolve_default_task_list(name) ⇒ Object
67 68 69 |
# File 'lib/aws/decider/worker.rb', line 67 def resolve_default_task_list(name) name == FlowConstants.use_worker_task_list ? @task_list : name end |