public function test_cron_tasks()
 {
     /** @var \TPTaskRunner\Models\Task $task_1 */
     $task_1 = factory(\TPTaskRunner\Models\Task::class)->create();
     $task_1->next_run_at = \Carbon\Carbon::now()->addDay(1);
     $task_1->save();
     /** @var \TPTaskRunner\Models\Task $task_2 */
     $task_2 = factory(\TPTaskRunner\Models\Task::class)->create();
     $query_1_count = \TPTaskRunner\Models\Task::cron()->count();
     $query_2_count = \TPTaskRunner\Models\Task::cron(\Carbon\Carbon::now()->addDay(2))->count();
     $this->assertNotEquals($query_1_count, $query_2_count);
     $this->assertTrue($query_1_count < $query_2_count);
 }
예제 #2
0
 /**
  * Run all Tasks thats ready for that
  * @return array list of id`s with runned tasks
  */
 public static function cronJob()
 {
     $tasks = Task::cron();
     $started_tasks = [];
     /** @var Task $task */
     foreach ($tasks as $task) {
         array_push($started_tasks, [$task->id]);
         $task->run();
     }
     return $started_tasks;
 }