/** * This method will do main work. */ public function start($task) { /* Start task and set timeout */ $task->status = 'in-progress'; $task->dead_time = new \DateTime('now +' . $this->deadTime . ' seconds'); $task->save(); $task->refresh(); /* Do work */ $places = Places::find()->approved()->all(); foreach ($places as $place) { $place->importFromFacebook(); } /* Finish task */ $task->status = 'finished'; return true; }