Bug #8725
closedOn unclear restart, the start occasionally fails with Action Actions::Candlepin::ListenOnCandlepinEvents is already active
Description
Unclear stop (a.k.a killing) the server might lead into the ListenOnCandlepinEvents action to end in inconsistent state and the following start of the service (server in development,
foreman-tasks in production) can end up with the following stacktrace
/home/vagrant/Projects/katello/app/lib/actions/candlepin/listen_on_candlepin_events.rb:58:in `plan': Action Actions::Candlepin::ListenOnCandlepinEvents is already active (RuntimeError) from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:411:in `block (3 levels) in execute_plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:26:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:26:in `pass' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware.rb:16:in `pass' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware.rb:29:in `plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:22:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:26:in `pass' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware.rb:16:in `pass' from /home/vagrant/Projects/katello/app/lib/actions/middleware/keep_locale.rb:20:in `plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:22:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/world.rb:30:in `execute' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:410:in `block (2 levels) in execute_plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:223:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:223:in `switch_flow' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:321:in `concurrence' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:409:in `block in execute_plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:371:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:371:in `block in with_error_handling' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:371:in `catch' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:371:in `with_error_handling' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:408:in `execute_plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/action.rb:236:in `execute' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan/steps/plan_step.rb:46:in `block in execute' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan/steps/abstract.rb:152:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan/steps/abstract.rb:152:in `with_meta_calculation' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan/steps/plan_step.rb:45:in `execute' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:155:in `block (3 levels) in plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:223:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:223:in `switch_flow' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:213:in `with_planning_scope' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:154:in `block (2 levels) in plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:26:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:26:in `pass' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware.rb:16:in `pass' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware.rb:37:in `plan_phase' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:22:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:26:in `pass' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware.rb:16:in `pass' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware.rb:37:in `plan_phase' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/stack.rb:22:in `call' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/middleware/world.rb:30:in `execute' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:153:in `block in plan' from /usr/local/share/gems/gems/activerecord-3.2.21/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction' from /usr/local/share/gems/gems/activerecord-3.2.21/lib/active_record/transactions.rb:208:in `transaction' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/transaction_adapters/active_record.rb:5:in `transaction' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/execution_plan.rb:152:in `plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/world.rb:113:in `block in plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/world.rb:111:in `tap' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/world.rb:111:in `plan' from /usr/local/share/gems/gems/dynflow-0.7.5/lib/dynflow/world.rb:92:in `trigger' from /usr/local/share/gems/gems/foreman-tasks-0.6.10/lib/foreman_tasks.rb:16:in `trigger' from /usr/local/share/gems/gems/foreman-tasks-0.6.10/lib/foreman_tasks.rb:22:in `trigger_task' from /usr/local/share/gems/gems/foreman-tasks-0.6.10/lib/foreman_tasks.rb:34:in `async_task' from /home/vagrant/Projects/katello/lib/katello/engine.rb:46:in `block in <class:Engine>' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/initializable.rb:30:in `instance_exec' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/initializable.rb:30:in `run' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/initializable.rb:55:in `block in run_initializers' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/initializable.rb:54:in `each' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/initializable.rb:54:in `run_initializers' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/application.rb:136:in `initialize!' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/railtie/configurable.rb:30:in `method_missing' from /home/vagrant/Projects/foreman/config/environment.rb:5:in `<top (required)>' from /usr/local/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' from /usr/local/share/gems/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require' from /usr/local/share/gems/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require' from /usr/local/share/gems/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency' from /usr/local/share/gems/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require' from /home/vagrant/Projects/foreman/config.ru:3:in `block in <main>' from /usr/local/share/gems/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval' from /usr/local/share/gems/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize' from /home/vagrant/Projects/foreman/config.ru:in `new' from /home/vagrant/Projects/foreman/config.ru:in `<main>' from /usr/local/share/gems/gems/rack-1.4.5/lib/rack/builder.rb:40:in `eval' from /usr/local/share/gems/gems/rack-1.4.5/lib/rack/builder.rb:40:in `parse_file' from /usr/local/share/gems/gems/rack-1.4.5/lib/rack/server.rb:200:in `app' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/commands/server.rb:46:in `app' from /usr/local/share/gems/gems/rack-1.4.5/lib/rack/server.rb:304:in `wrapped_app' from /usr/local/share/gems/gems/rack-1.4.5/lib/rack/server.rb:254:in `start' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/commands/server.rb:70:in `start' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/commands.rb:55:in `block in <top (required)>' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/commands.rb:50:in `tap' from /usr/local/share/gems/gems/railties-3.2.21/lib/rails/commands.rb:50:in `<top (req
Updated by Eric Helms over 10 years ago
- Status changed from Assigned to Need more information
How big of a fix do you think this is? Could it be done for 2.1 (scheduled to be released 1/15/2015)
Updated by Stephen Repetski about 10 years ago
I believe I am seeing this same issue, although I do not believe that the Foreman server was improperly shut down this last time.
2015-05-15 11:02:04 [E] Action Actions::Candlepin::ListenOnCandlepinEvents is already active (RuntimeError)
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.0/app/lib/actions/candlepin/listen_on_candlepin_events.rb:61:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:431:in `block (3 levels) in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware.rb:29:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.0/app/lib/actions/middleware/keep_locale.rb:19:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:430:in `block (2 levels) in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:234:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:234:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:341:in `concurrence'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:429:in `block in execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:391:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:391:in `block in with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:391:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:391:in `with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:428:in `execute_plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/action.rb:256:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan/steps/plan_step.rb:46:in `block in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan/steps/abstract.rb:155:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan/steps/abstract.rb:155:in `with_meta_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan/steps/plan_step.rb:45:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:166:in `block (3 levels) in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:234:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:234:in `switch_flow'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:224:in `with_planning_scope'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:165:in `block (2 levels) in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware.rb:37:in `plan_phase'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware.rb:37:in `plan_phase'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:164:in `block in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:208:in `transaction'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/transaction_adapters/active_record.rb:5:in `transaction'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/execution_plan.rb:163:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/world.rb:129:in `block in plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/world.rb:127:in `tap'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/world.rb:127:in `plan'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.7/lib/dynflow/world.rb:100:in `trigger'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.12/lib/foreman_tasks.rb:17:in `trigger'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.12/lib/foreman_tasks.rb:23:in `trigger_task'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.12/lib/foreman_tasks.rb:35:in `async_task'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.3.0/lib/katello/engine.rb:42:in `block in <class:Engine>'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/initializable.rb:30:in `instance_exec'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/initializable.rb:30:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/initializable.rb:55:in `block in run_initializers'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/initializable.rb:54:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/initializable.rb:54:in `run_initializers'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/application.rb:136:in `initialize!'
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
/usr/share/foreman/config/environment.rb:12:in `<top (required)>'
/opt/rh/ruby193/root/usr/share/rubygems/rubygems/custom_require.rb:36:in `require'
/opt/rh/ruby193/root/usr/share/rubygems/rubygems/custom_require.rb:36:in `require'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `block in require'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:236:in `load_dependency'
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.12/lib/foreman_tasks/dynflow/daemon.rb:15:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.12/lib/foreman_tasks/dynflow/daemon.rb:50:in `block in run_background'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/application.rb:266:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/application.rb:266:in `block in start_proc'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/daemonize.rb:84:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/daemonize.rb:84:in `call_as_daemon'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/application.rb:270:in `start_proc'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/application.rb:296:in `start'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:49:in `block (3 levels) in watch'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:49:in `fork'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:49:in `block (2 levels) in watch'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:43:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:43:in `block in watch'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:42:in `loop'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:42:in `watch'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:85:in `block in start_with_pidfile'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:65:in `fork'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:65:in `start_with_pidfile'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/monitor.rb:111:in `start'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/application_group.rb:147:in `create_monitor'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/application.rb:284:in `start'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/controller.rb:57:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons.rb:193:in `block in run_proc'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/cmdline.rb:100:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons/cmdline.rb:100:in `catch_exceptions'
/opt/rh/ruby193/root/usr/share/gems/gems/daemons-1.2.1/lib/daemons.rb:192:in `run_proc'
/opt/rh/ruby193/root/usr/share/gems/gems/foreman-tasks-0.6.12/lib/foreman_tasks/dynflow/daemon.rb:43:in `run_background'
/usr/bin/foreman-tasks:5:in `<main>'
2015-05-15 11:02:04 [F] Action Actions::Candlepin::ListenOnCandlepinEvents is already active
2015-05-15 11:02:04 [I] shutting down Core ...
2015-05-15 11:02:04 [E] ... core terminated.
Updated by Stephen Benjamin almost 10 years ago
In case anyone needs a workaround until this is available
echo 'ForemanTasks::Task.where(:label => "Actions::Candlepin::ListenOnCandlepinEvents", :state => "running").map { |task| task.update_column(:state, "stopped") }' | foreman-rake console