/** * SetUp tasks in queue */ public static function setUpBeforeClass() { static::prepareTestExecution(); self::$queue = new \PhpQueue\Queue(static::getQueueDriver()); self::$task_performer1 = new \PhpQueue\TaskPerformer(); self::$task_performer2 = new \PhpQueue\TaskPerformer(self::EXCLUSIVE_PERFORMER); //one task $task = new Task(self::JOB, self::TASK_ARGS); $task->set_callback(self::TASK_JOB_CALLBACK)->set_error_callback(self::TASK_JOB_CALLBACK); self::$queue->add_task($task); //task with sub tasks $task = new Task(self::JOB, self::TASK_ARGS); $task->set_callback(self::TASK_JOB_CALLBACK)->set_error_callback(self::TASK_JOB_CALLBACK); for ($i = 0; $i < self::TASKS_COUNT_5; $i++) { $sub_task = new Task(self::JOB_1, $i); $sub_task->set_callback(self::SUB_TASK_JOB_CALLBACK)->set_error_callback(self::SUB_TASK_JOB_CALLBACK); $task->sub_tasks()->add($sub_task); } self::$queue->add_task($task); //task with sub tasks and error break false and exclusive $task = new Task(self::JOB_2); $task->set_callback(self::TASK_JOB_CALLBACK)->set_error_callback(self::TASK_JOB_CALLBACK)->set_exclusive(true); for ($i = 0; $i < self::TASKS_COUNT_3; $i++) { $sub_task = new Task(self::JOB_2, $i); $task->sub_tasks()->add($sub_task); } self::$queue->add_task($task); //task with error $task = new Task(self::JOB); $task->set_callback(self::TASK_JOB_CALLBACK)->set_error_callback(self::TASK_JOB_CALLBACK)->settings()->set_error_break(false)->set_error_max_trial(self::TASKS_COUNT_3); for ($i = 0; $i < self::TASKS_COUNT_5; $i++) { if ($i == 2) { $sub_task = new Task(self::ERROR_JOB, $i); } else { $sub_task = new Task(self::JOB_2, $i); } $task->sub_tasks()->add($sub_task); } self::$queue->add_task($task); //task with subtasks and error $task = new Task(self::JOB); $task->set_task_group_id(2)->settings()->set_error_break(true)->set_error_max_trial(2); $sub_task = new Task(self::ERROR_JOB); $task->sub_tasks()->add($sub_task); for ($i = 0; $i < 3; $i++) { $sub_task = new Task(self::JOB_2, $i); $task->sub_tasks()->add($sub_task); } self::$queue->add_task($task); $task = new Task(self::ERROR_JOB); $task->set_task_group_id(3); self::$queue->add_task($task); }