• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Queue\Queue类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Illuminate\Contracts\Queue\Queue的典型用法代码示例。如果您正苦于以下问题:PHP Queue类的具体用法?PHP Queue怎么用?PHP Queue使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Queue类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: later

 /**
  * Push a new job onto the queue after a delay.
  *
  * @param  \DateTime|int $delay
  * @param  string $job
  * @param  mixed $data
  * @param  string $queue
  * @return mixed
  */
 public function later($delay, $job, $data = '', $queue = null)
 {
     if ($this->isLongTerm($delay)) {
         return $this->longTermQueue->later($this->longTermDelay($delay), new HybridJob($job, $data, $this->shortTermDelay($delay), $this->shortTermConnection, $queue), '', $queue);
     }
     return $this->shortTermQueue->later($delay, $job, $data, $queue);
 }
开发者ID:halaei,项目名称:hybrid-queue,代码行数:16,代码来源:HybridQueue.php


示例2: queue

 /**
  * Queue a new push notification for sending.
  * 
  * @param AbstractPayload $payload
  * @param array $tokens
  * @param string $queue
  */
 public function queue(Payload $payload, $tokens, $queue = null)
 {
     //Serialize data
     $payload = serialize($payload);
     $tokens = serialize($tokens);
     //Push in queue
     return $this->queue->push('bridge@handleQueuedSending', compact('payload', 'tokens'), $queue);
 }
开发者ID:developerdynamo,项目名称:laravel-push-notification,代码行数:15,代码来源:PushNotificationBridge.php


示例3: pushCommandToQueue

 /**
  * Push the command onto the given queue instance.
  *
  * @param  \Illuminate\Contracts\Queue\Queue  $queue
  * @param  mixed  $command
  * @return mixed
  */
 protected function pushCommandToQueue($queue, $command)
 {
     if (isset($command->queue, $command->delay)) {
         return $queue->laterOn($command->queue, $command->delay, $command);
     }
     if (isset($command->queue)) {
         return $queue->pushOn($command->queue, $command);
     }
     if (isset($command->delay)) {
         return $queue->later($command->delay, $command);
     }
     return $queue->push('Ahead4\\Bus\\CallQueuedHandler@call', ['pipes' => $this->pipes, 'command' => serialize($command)]);
 }
开发者ID:ahead4,项目名称:bus,代码行数:20,代码来源:Dispatcher.php


示例4: uploadPdfToS3AndCreateContracts

 /**
  * Upload Pdf to s3 and create contracts
  *
  * @param $key
  */
 public function uploadPdfToS3AndCreateContracts($key)
 {
     $contracts = $this->getJsonData($key);
     foreach ($contracts as $contract) {
         $this->updateContractJsonByID($key, $contract->id, ['create_status' => static::CREATE_PROCESSING], 2);
         try {
             $this->storage->disk('s3')->put($contract->file, $this->filesystem->get($this->getFilePath($key, $contract->file)));
         } catch (Exception $e) {
             $this->logger->error(sprintf('File could not be uploaded : %s', $e->getMessage()));
             continue;
         }
         $data = ['file' => $contract->file, 'filehash' => $contract->filehash, 'user_id' => $contract->user_id, 'metadata' => $contract->metadata];
         try {
             $con = $this->contract->save($data);
             $this->logger->activity('contract.log.save', ['contract' => $con->id], $con->id, $con->user_id);
             $this->updateContractJsonByID($key, $contract->id, ['create_status' => static::CREATE_COMPLETED], 2);
             if ($con) {
                 $this->queue->push('App\\Nrgi\\Services\\Queue\\ProcessDocumentQueue', ['contract_id' => $con->id]);
             }
             $this->logger->info('Contract successfully created.', ['Contract Title' => $con->title]);
         } catch (Exception $e) {
             $this->logger->error($e->getMessage());
             if ($this->storage->disk('s3')->exists($contract->file)) {
                 $this->storage->disk('s3')->delete($contract->file);
             }
             $this->updateContractJsonByID($key, $contract->id, ['create_remarks' => trans('contract.save_fail'), 'create_status' => static::CREATE_FAILED], 2);
         }
         $this->deleteFile($key, $contract->file);
     }
 }
开发者ID:sadhakbj,项目名称:resourcecontracts.org,代码行数:35,代码来源:ImportService.php


示例5: later

 /**
  * Queue a new e-mail message for sending after (n) seconds.
  *
  * @param  int  $delay
  * @param  string|array  $view
  * @param  array  $data
  * @param  \Closure|string  $callback
  * @param  string|null  $queue
  * @return mixed
  */
 public function later($delay, $view, array $data = [], $callback = null, $queue = null)
 {
     if ($view instanceof MailableContract) {
         return $view->later($delay, $this->queue);
     }
     return $this->queue->laterOn($queue, $delay, new Jobs\HandleQueuedMessage($view, $data, $callback));
 }
开发者ID:bryanashley,项目名称:framework,代码行数:17,代码来源:Mailer.php


示例6: updateStatus

 /**
  * Update Contract status
  *
  * @param $id
  * @param $status
  * @param $type
  * @return bool
  */
 public function updateStatus($id, $status, $type)
 {
     try {
         $contract = $this->contract->findContract($id);
     } catch (ModelNotFoundException $e) {
         $this->logger->error('Contract not found', ['contract id' => $id]);
         return false;
     } catch (Exception $e) {
         $this->logger->error($e->getMessage());
         return false;
     }
     if ($contract->isEditableStatus($status)) {
         $status_key = sprintf('%s_status', $type);
         $old_status = $contract->{$status_key};
         $contract->{$status_key} = $status;
         $contract->save();
         if ($status == Contract::STATUS_PUBLISHED) {
             $this->queue->push('App\\Nrgi\\Services\\Queue\\PostToElasticSearchQueue', ['contract_id' => $id, 'type' => $type], 'elastic_search');
         }
         $this->logger->activity('contract.log.status', ['type' => $type, 'old_status' => $old_status, 'new_status' => $status], $contract->id);
         $this->logger->info("Contract status updated", ['Contract id' => $contract->id, 'Status type' => $type, 'Old status' => $old_status, 'New Status' => $status]);
         return true;
     }
     return false;
 }
开发者ID:sadhakbj,项目名称:resourcecontracts.org,代码行数:33,代码来源:ContractService.php


示例7: queue

 /**
  * @param JobDescription $job
  *
  * @return void
  */
 protected function queue(JobDescription $job)
 {
     if ($this->disabled) {
         return;
     }
     if ($job->isDelayed()) {
         return $this->queue->later($job->getDelay(), $job->getClass(), $job->getPayload(), $job->getQueue());
     }
     return $this->queue->push($job->getClass(), $job->getPayload(), $job->getQueue());
 }
开发者ID:arrounded,项目名称:queues,代码行数:15,代码来源:Queues.php


示例8: updateStatus

 /**
  * @param $annotationStatus
  * @param $contractId
  * @return bool
  */
 public function updateStatus($annotationStatus, $contractId)
 {
     $status = $this->annotation->updateStatus($annotationStatus, $contractId);
     if ($status) {
         if ($annotationStatus == Annotation::PUBLISHED) {
             $this->queue->push('App\\Nrgi\\Services\\Queue\\PostToElasticSearchQueue', ['contract_id' => $contractId, 'type' => 'annotation'], 'elastic_search');
         }
         $this->logger->activity("annotation.status_update", ['status' => $annotationStatus], $contractId);
         $this->logger->info('Annotation status updated.', ['Contract id' => $contractId, 'status' => $annotationStatus]);
     }
     return $status;
 }
开发者ID:sadhakbj,项目名称:resourcecontracts.org,代码行数:17,代码来源:AnnotationService.php


示例9: handle

 /**
  * Execute the command.
  *
  * @return void
  */
 public function handle(Container $app, Queue $queue)
 {
     $imgurIds = $this->user->logs->lists('imgur_id');
     $imgurToken = $this->user->imgurToken;
     // Setup Imgur Service
     $imgur = $app->make('ImguBox\\Services\\ImgurService');
     $imgur->setUser($this->user);
     $imgur->setToken($imgurToken);
     $difference = $imgurToken->updated_at->diffInSeconds();
     // Imgur acccess_token expires after 3600 seconds
     if ($difference >= 3500) {
         $refreshedToken = $imgur->refreshToken();
         if (property_exists($refreshedToken, 'success') && $refreshedToken->success === false) {
             return $this->error('something went wrong');
         }
         $imgurToken->token = \Crypt::encrypt($refreshedToken->access_token);
         $imgurToken->save();
     }
     $imgur->setToken($imgurToken);
     $favorites = $imgur->favorites();
     if (is_array($favorites)) {
         // Remove models we already processed
         $favorites = collect($favorites)->reject(function ($object) use($imgurIds) {
             return in_array($object->id, $imgurIds);
         });
         foreach ($favorites as $favorite) {
             Cache::put("user:{$this->user->id}:favorite:{$favorite->id}", $favorite, 10);
             $job = new StoreImages($this->user->id, $favorite->id);
             $queue->later(rand(1, 900), $job);
         }
     } elseif (property_exists($favorites, 'error')) {
         Mail::send('emails.api-error', [], function ($message) {
             $message->to($this->user->email)->subject("ImguBox can no longer synx your Imgur favorites. Action needed.");
         });
         // Delete ImgurToken.
         $imgurToken->delete();
     }
 }
开发者ID:syamantak,项目名称:imgubox,代码行数:43,代码来源:FetchImages.php


示例10: create

 /**
  * Create new task
  *
  * @param $contract_id
  * @return bool
  */
 public function create($contract_id)
 {
     $contract = $this->contract->findWithPages($contract_id);
     try {
         $this->task->createTasks($contract->pages);
         $this->logger->info('Tasks added in database', ['Contract_id' => $contract_id]);
     } catch (Exception $e) {
         $this->logger->error('createTasks:' . $e->getMessage(), ['Contract_id' => $contract_id]);
         return false;
     }
     try {
         $contract->mturk_status = Contract::MTURK_SENT;
         $contract->save();
     } catch (Exception $e) {
         $this->logger->error('save:' . $e->getMessage(), ['Contract_id' => $contract->id]);
         return false;
     }
     $this->logger->activity('mturk.log.create', ['contract' => $contract->title], $contract->id);
     $this->queue->push('App\\Nrgi\\Mturk\\Services\\Queue\\MTurkQueue', ['contract_id' => $contract->id], 'mturk');
     return true;
 }
开发者ID:sadhakbj,项目名称:resourcecontracts.org,代码行数:27,代码来源:TaskService.php


示例11: pushCommandToQueue

 /**
  * Push the command onto the given queue instance.
  *
  * @param  \Illuminate\Contracts\Queue\Queue  $queue
  * @param  mixed  $command
  * @return mixed
  */
 protected function pushCommandToQueue($queue, $command)
 {
     if (isset($command->queue, $command->delay)) {
         return $queue->laterOn($command->queue, $command->delay, $command);
     }
     if (isset($command->queue)) {
         return $queue->pushOn($command->queue, $command);
     }
     if (isset($command->delay)) {
         return $queue->later($command->delay, $command);
     }
     return $queue->push($command);
 }
开发者ID:focuslife,项目名称:v0.1,代码行数:20,代码来源:Dispatcher.php


示例12: it_pushes_mail_to_queue

 public function it_pushes_mail_to_queue(Queue $queue)
 {
     $recipient = new Recipient('Jane Doe', '[email protected]');
     $variableOne = new Variable('global_one', 'Example');
     $variableTwo = new Variable('global_two', 'Another example');
     $variableThree = new Variable('local', 'Yet another example');
     $attachment = new Attachment('text/csv', 'test.csv', 'example;test;');
     $data = ['from_name' => 'John Doe', 'from_email' => '[email protected]', 'subject' => 'Example subject', 'template' => 'example template', 'recipients' => [new Recipient('Jane Doe', '[email protected]')], 'global_vars' => ['global_one' => ['name' => 'GLOBAL_ONE', 'content' => 'Example'], 'global_two' => ['name' => 'GLOBAL_TWO', 'content' => 'Another example']], 'local_vars' => ['[email protected]' => ['local' => ['name' => 'LOCAL', 'content' => 'Yet another example']]], 'headers' => [], 'attachments' => [['type' => 'text/csv', 'name' => 'test.csv', 'content' => 'ZXhhbXBsZTt0ZXN0Ow==']]];
     $this->setSubject('Example subject');
     $this->setTemplate('example template');
     $this->addRecipient($recipient);
     $this->addGlobalVariable($variableOne);
     $this->addGlobalVariable($variableTwo);
     $this->addLocalVariable($recipient, $variableThree);
     $this->addAttachment($attachment);
     $job = new Job($data);
     $queue->pushOn('mandrill', $job)->shouldBeCalled();
     $this->queue('mandrill')->shouldReturn(true);
 }
开发者ID:HydrefLab,项目名称:laravel-mailer,代码行数:19,代码来源:MailerSpec.php


示例13: getNextJob

 /**
  * Get the next job from the queue connection.
  *
  * @param  \Illuminate\Contracts\Queue\Queue  $connection
  * @param  string  $queue
  * @return \Illuminate\Contracts\Queue\Job|null
  */
 protected function getNextJob($connection, $queue)
 {
     try {
         foreach (explode(',', $queue) as $queue) {
             if (!is_null($job = $connection->pop($queue))) {
                 return $job;
             }
         }
     } catch (Exception $e) {
         $this->exceptions->report($e);
     } catch (Throwable $e) {
         $this->exceptions->report(new FatalThrowableError($e));
     }
 }
开发者ID:bryanashley,项目名称:framework,代码行数:21,代码来源:Worker.php


示例14: getNextJob

 /**
  * Get the next job from the queue connection.
  *
  * @param  \Illuminate\Contracts\Queue\Queue  $connection
  * @param  string  $queue
  * @return \Illuminate\Contracts\Queue\Job|null
  */
 protected function getNextJob($connection, $queue)
 {
     if (is_null($queue)) {
         return $connection->pop();
     }
     foreach (explode(',', $queue) as $queue) {
         if (!is_null($job = $connection->pop($queue))) {
             return $job;
         }
     }
 }
开发者ID:teckwei1993,项目名称:laravel-in-directadmin,代码行数:18,代码来源:Worker.php


示例15: later

 /**
  * Queue a new e-mail message for sending after (n) seconds.
  *
  * @param  int  $delay
  * @param  string|array  $view
  * @param  array  $data
  * @param  \Closure|string  $callback
  * @param  string|null  $queue
  * @return mixed
  */
 public function later($delay, $view, array $data, $callback, $queue = null)
 {
     $callback = $this->buildQueueCallable($callback);
     return $this->queue->later($delay, 'mailer@handleQueuedMessage', compact('view', 'data', 'callback'), $queue);
 }
开发者ID:riopurwanggono,项目名称:boombazaar,代码行数:15,代码来源:Mailer.php


示例16: handle

 /**
  * @param DomainMessage $domainMessage
  * @return void
  */
 public function handle(DomainMessage $domainMessage)
 {
     $this->queue->push(QueueToEventDispatcher::class, ['uuid' => (string) $domainMessage->getId(), 'playhead' => $domainMessage->getPlayHead(), 'metadata' => json_encode($this->serializer->serialize($domainMessage->getMetadata())), 'payload' => json_encode($this->serializer->serialize($domainMessage->getPayload())), 'recorded_on' => (string) $domainMessage->getRecordedOn(), 'type' => $domainMessage->getType()]);
 }
开发者ID:jrdnhannah,项目名称:CQRS-ES-Framework-Laravel,代码行数:8,代码来源:PushEventsThroughQueue.php


示例17: later

 /**
  * Queue a new message for sending after (n) seconds.
  *
  * @param  int  $delay
  * @param  \Closure|string  $callback
  * @param  string  $queue
  *
  * @return mixed
  */
 public function later($delay, $callback, $queue = null)
 {
     $callback = $this->buildQueueCallable($callback);
     return $this->queue->later($delay, 'messenger@handleQueuedMessage', compact('callback'), $queue);
 }
开发者ID:nathanmac,项目名称:instant-messenger,代码行数:14,代码来源:Messenger.php


示例18: push

 /**
  * @inheritdoc
  */
 public function push($taskId, callable $task)
 {
     $this->illuminateQueue->push(IlluminateQueueHandler::class, [$taskId, $this->serializer->serialize($task)]);
 }
开发者ID:adamnicholson,项目名称:kyew,代码行数:7,代码来源:IlluminateQueue.php


示例19: queue

 /**
  * Push command to queue.
  *
  * @param \Illuminate\Contracts\Queue\Queue $queue
  * @param \Krucas\Counter\Integration\Laravel\Commands\Base $command
  * @return void
  */
 public function queue(Queue $queue, Base $command)
 {
     if (!is_null($this->queue)) {
         $queue->pushOn($this->queue, $command);
     } else {
         $queue->push($command);
     }
 }
开发者ID:edvinaskrucas,项目名称:counter-laravel,代码行数:15,代码来源:Base.php


示例20: later

 /**
  * Queue a new e-mail message for sending after (n) seconds.
  *
  * @param  int  $delay
  * @param  array  $data
  * @param  \Closure|string  $callback
  * @param  string|null  $queue
  * @return mixed
  */
 public function later($delay, $recepient, $message, $queue = null)
 {
     $callback = ['recepient' => $recepient, 'message' => $message, 'sender' => isset($sender) ? $sender : null, 'message_type' => isset($message_type) ? $message_type : 0];
     return $this->queue->later($delay, 'sms@handleQueuedMessage', $callback, $queue);
 }
开发者ID:adetoola,项目名称:sms,代码行数:14,代码来源:SMS.php



注:本文中的Illuminate\Contracts\Queue\Queue类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Routing\Registrar类代码示例发布时间:2022-05-23
下一篇:
PHP Queue\Job类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap