Esempio n. 1
0
 /**
  * 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);
 }