[InvalidArgumentException] No job type can be resolved error for custom queue task
Closed this issue · 1 comments
Hi, I have followed the README, ran all migrations, configured app_queue.php , loaded in bootstrap and created a custom queue task [src/Queue/Task/GenerateMeetingsTask.php] in my cakephp application.
I have added the createJob method for my custom queue task within one of the models.
I am getting the below error when the code is trying to create a queue job to generate meetings for a student,
This is my code snippet I have in the model
$queuedJobsTable = TableRegistry::getTableLocator()->get('QueuedJobs');
$queuedJobsTable->createJob('Queue.GenerateMeetings', [
'student' => $newStudent, //object
'date' => date('Y-m-d')
]);
Below is the error,
error: [InvalidArgumentException] No job type can be resolved for Queue.GenerateMeetings in /var/www/html/pm-server/vendor/dereuromark/cakephp-queue/src/Queue/TaskFinder.php on line 140
For Full Stack Trace
Stack Trace:
- /var/www/html/pm-server/vendor/dereuromark/cakephp-queue/src/Model/Table/QueuedJobsTable.php:217
- /var/www/html/pm-server/vendor/dereuromark/cakephp-qubootstreue/src/Model/Table/QueuedJobsTable.php:196
- /var/www/html/pm-server/src/Model/Table/StudentsTable.php:643
- /var/www/html/pm-server/src/Controller/Api/StudentsController.php:58
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Controller/Controller.php:539
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Controller/ControllerFactory.php:140
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Controller/ControllerFactory.php:115
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/BaseApplication.php:317
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Runner.php:77
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Middleware/CsrfProtectionMiddleware.php:138
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Runner.php:73
- /var/www/html/pm-server/vendor/cakephp/authentication/src/Middleware/AuthenticationMiddleware.php:124
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Runner.php:73
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Middleware/BodyParserMiddleware.php:172
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Runner.php:73
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php:161
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Runner.php:73
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php:68
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Runner.php:73
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php:126
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Runner.php:73
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Runner.php:58
- /var/www/html/pm-server/vendor/cakephp/cakephp/src/Http/Server.php:90
- /var/www/html/pm-server/webroot/index.php:40
Task file:
src/Queue/Task/GenerateMeetingsTask.php
<?php
namespace App\Queue\Task;
use Cake\ORM\TableRegistry;
use Queue\Queue\Task;
class GenerateMeetingsTask extends Task
{
/**
* @param array $data The array passed to QueuedJobsTable::createJob()
* @param int $jobId The id of the QueuedJob entity
* @return bool Success
*/
public $timeout = 120;
public $retires = 1;
public function run(array $data, $jobId): void
{ <logic> }
@dereuromark Do you have any thoughts on this? Please let me know if I missed any data.
It is due to the cakephp-queue plugin package requires permission to find tasks in the application folder. After setting permission, it is resolved and am closing this issue.