Example #1
0
 public function execute()
 {
     global $wgDevelEnvironment, $wgFlowerUrl;
     if ($wgDevelEnvironment) {
         \Wikia\Logger\WikiaLogger::instance()->setDevModeWithES();
     }
     \Wikia\Logger\WikiaLogger::instance()->pushContext(['task_id' => $this->mOptions['task_id']]);
     $runner = new TaskRunner($this->mOptions['wiki_id'], $this->mOptions['task_id'], $this->mOptions['task_list'], $this->mOptions['call_order'], $this->mOptions['created_by']);
     ob_start();
     $runner->run();
     $result = $runner->format();
     if ($runner->runTime() > TaskRunner::TASK_NOTIFY_TIMEOUT) {
         Http::post("{$wgFlowerUrl}/api/task/status/{$this->mOptions['task_id']}", ['noProxy' => true, 'postData' => json_encode(['kwargs' => ['completed' => time(), 'state' => $result->status, 'result' => $result->status == 'success' ? $result->retval : $result->reason]])]);
     }
     ob_end_clean();
     echo json_encode($result);
 }