[ 'prefix' => 'q', 'longPrefix' => 'queue', 'required' => false, 'cast' => 'string', 'description' => 'Define task queue to add', ], 'taskClass' => [ 'prefix' => 't', 'longPrefix' => 'taskClass', 'required' => true, 'cast' => 'string', 'description' => sprintf( 'Define task (must extend "%s")', Action::class ), ], ]; } protected function provideDescription() { return 'Command will define association for a task to specific queue.'; } protected function provideUsage() { return [ 'prefix' => 'h', 'longPrefix' => 'help', 'description' => 'Prints the help.', ]; } protected function run() { $initializer = $this->getQueueAssociationService() ->associate( $this->getOption('taskClass'), $queue = $this->getOption('queue') ); return $initializer([]); } private function getQueueAssociationService(): QueueAssociationService { return $this->getServiceLocator()->get(QueueAssociationService::class); } }