/** * Bootstrap the application services. * * @return void */ public function boot() { if (config('queue.default') != 'sync') { Queue::after(function (JobProcessed $event) { $job = ''; if (isset($event->data['data']['command'])) { $job = unserialize($event->data['data']['command']); } else { if (isset($event->data['data']['data'])) { $job = unserialize($event->data['data']['data']); } } if (!empty($job)) { $id = sha1(serialize($job)); } else { if (isset($event->data['data'])) { $id = md5(json_encode($event->data['data'])); } } $queueJob = $this->client()->get($id); if ($queueJob) { $queueJob = $queueJob->finish(); $this->client()->put($queueJob->queueId, $queueJob->toJson()); } }); Queue::before(function (JobProcessing $event) { $job = ''; if (isset($event->data['data']['command'])) { $job = unserialize($event->data['data']['command']); } else { if (isset($event->data['data']['data'])) { $job = unserialize($event->data['data']['data']); } } if (!empty($job)) { $id = sha1(serialize($job)); } else { if (isset($event->data['data'])) { $id = md5(json_encode($event->data['data'])); } } $queueJob = $this->client()->get($id); if ($queueJob) { $queueJob = $queueJob->initialization($event->job, $event->data); $this->client()->put($queueJob->queueId, $queueJob->toJson()); } else { $queueJob = QueueJob::make($id, $event->data); $this->client()->put($queueJob->queueId, $queueJob->toJson()); } }); Queue::failing(function ($event) { // $event->connectionName // $event->data // $event->data }); } }
public function start() { if ($this->qid) { $queueJob = QueueJob::get($this->qid); $queueJob = $queueJob->initialization(); Redis::LSET(config('queue-managers.name'), $queueJob->qid, $queueJob->toJson()); } if ($this->qid && $queueJob) { $index = Redis::LLen(config('queue-managers.name')); $this->qid = $index++; $queueJob = QueueJob::make($this->qid); Redis::LSET(config('queue-managers.name'), $this->qid, $queueJob->toJson()); } }