$data) { if (QueueManager::getConfig($key) === null) { QueueManager::setConfig($key, $data); } } } /** * Add console commands for the plugin. * * @param \Cake\Console\CommandCollection $commands The command collection to update * @return \Cake\Console\CommandCollection */ public function console(CommandCollection $commands): CommandCollection { if (class_exists(SimpleBakeCommand::class)) { $commands->add('bake job', JobCommand::class); } return $commands ->add('queue worker', WorkerCommand::class) ->add('worker', WorkerCommand::class) ->add('queue subprocess_runner', SubprocessJobRunnerCommand::class) ->add('queue requeue', RequeueCommand::class) ->add('queue purge_failed', PurgeFailedCommand::class); } /** * Add DI container to Worker command * * @param \Cake\Core\ContainerInterface $container The DI container * @return void */ public function services(ContainerInterface $container): void { $container->add(ContainerInterface::class, $container); $container ->add(WorkerCommand::class) ->addArgument(ContainerInterface::class); $container ->add(SubprocessJobRunnerCommand::class) ->addArgument(ContainerInterface::class); } }