Esempio n. 1
0
function run($worker, $data)
{
    if ($data == false) {
        return false;
    }
    $task = AbstractTask::createTask(json_decode($data, true));
    return $task->run();
}
Esempio n. 2
0
 private static function _createTask($taskInfo)
 {
     $task = AbstractTask::createTask($taskInfo);
     if ($task) {
         self::$_tasks[] = $task;
     }
     return $task;
 }
Esempio n. 3
0
function run($worker, $data)
{
    //读取定时任务
    $currentTime = time();
    $data = Redis::queueRedis()->lPop('tarth-timer-' . $worker->tarthTimerLastTime);
    if ($data == false) {
        //在不超过当前时间情况下,获取下一秒的数据
        if ($worker->tarthTimerLastTime < $currentTime) {
            $worker->tarthTimerLastTime++;
        }
        return false;
    }
    $task = AbstractTask::createTask(json_decode($data, true));
    return $task->push(true);
}
Esempio n. 4
0
 protected function _processTask()
 {
     try {
         if ($this->isAtom) {
             foreach ($this->tasks as $task) {
                 if (is_array($task)) {
                     $task = AbstractTask::createTask($task);
                 }
                 $task->run();
             }
         } else {
             foreach ($this->tasks as $task) {
                 if (is_array($task)) {
                     $task = AbstractTask::createTask($task);
                 }
                 $task->push();
             }
         }
     } catch (Exception $e) {
         Log::logger()->addError($e->getMessage);
     }
 }