コード例 #1
0
ファイル: QdbQueue.php プロジェクト: artemsk/veer-core
 /**
  * 
  */
 public function addJob($job, $data, $delay = null)
 {
     $payload = $this->createPayload($job, $data);
     $job = new Job();
     $job->status = Job::STATUS_OPEN;
     $job->available_at = empty($delay) ? \Carbon\Carbon::now() : $delay;
     $job->payload = $payload;
     $job->save();
     return $job->id;
 }
コード例 #2
0
ファイル: QdbCommand.php プロジェクト: artemsk/veer-core
 /**
  * 
  */
 protected function getStats()
 {
     $jobs = Job::select(\Illuminate\Support\Facades\DB::raw('count(*) as jobs_count, status'))->groupBy('status')->get();
     $o = "";
     foreach ($jobs as $j) {
         switch ($j->status) {
             case Job::STATUS_OPEN:
                 $o .= 'Open - ';
                 break;
             case Job::STATUS_WAITING:
                 $o .= 'Waiting - ';
                 break;
             case Job::STATUS_STARTED:
                 $o .= 'Started - ';
                 break;
             case Job::STATUS_FINISHED:
                 $o .= 'Done - ';
                 break;
             case Job::STATUS_FAILED:
                 $o .= 'Failed - ';
                 break;
         }
         $o .= $j->jobs_count . " \n";
     }
     return $o;
 }
コード例 #3
0
 protected function getQdbJob()
 {
     $this->activeJob = \Veer\Services\Queuedb\Job::where('status', '<=', '1')->where('available_at', '<=', date('Y-m-d H:i:00', time()))->orderBy('available_at', 'asc')->first();
     return $this->activeJob;
 }
コード例 #4
0
ファイル: Site.php プロジェクト: artemsk/veer-core
 /**
  * Show Jobs
  */
 public function getQdbJobs()
 {
     $items = \Veer\Services\Queuedb\Job::all();
     $items = $items->sortBy('available_at');
     $items_failed = \DB::table("failed_jobs")->get();
     $statuses = array(\Veer\Services\Queuedb\Job::STATUS_OPEN => "Open", \Veer\Services\Queuedb\Job::STATUS_WAITING => "Waiting", \Veer\Services\Queuedb\Job::STATUS_STARTED => "Started", \Veer\Services\Queuedb\Job::STATUS_FINISHED => "Finished", \Veer\Services\Queuedb\Job::STATUS_FAILED => "Failed");
     return array('jobs' => $items, 'failed' => $items_failed, 'statuses' => $statuses, 'availModules' => $this->getAvailModules('queues'));
 }
コード例 #5
0
ファイル: Job.php プロジェクト: artemsk/veer-core
 public function unpauseJob()
 {
     \Veer\Services\Queuedb\Job::where('id', '=', head(array_keys($this->actionUnpause)))->update(['status' => \Veer\Services\Queuedb\Job::STATUS_OPEN]);
     $this->actionUnpause = null;
 }