Laravel 5.5。队列推送

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.5。队列推送相关的知识,希望对你有一定的参考价值。

我已将我的应用程序从Laravel 4.2升级到5.5,我遇到了队列问题。

public function saved(Model $review)
{
    if (App::runningInConsole()) {
        return;
    }

    $data = [
        'review' => serialize($review),
        'action' => self::ACTION_SAVE
    ];
    Queue::push(new UpdateReviewSummaryQueue, $data);
}

当我在模型保存上运行它时,我收到一个错误,即UpdateReviewSummaryQueue类不存在。我跑了composer dump-autoload,命名空间似乎很好。我可能会研究其他任何问题吗?

我还补充道

use SerializesModels;

作为Laravel升级指南建议

答案

在laravel 5.5你现在dispatch工作而不是push。有关完整文档,请参阅https://laravel.com/docs/5.5/queues#dispatching-jobs。试试:

dispatch((new UpdateReviewSummaryQueue($data));
另一答案

问题实际上在这一行:

Queue::push(new UpdateReviewSummaryQueue, $data);

将其改为此使其工作:

Queue::push(UpdateReviewSummaryQueue::class, $data);

以上是关于Laravel 5.5。队列推送的主要内容,如果未能解决你的问题,请参考以下文章

带有队列的laravel中的android和ios推送通知

laravel5.6 基于redis,使用消息队列(邮件推送)

laravel 消息队列浅析

Laravel 集成 RabbitMQ 消息队列

Laravel中使用Queue队列技巧

laravel5.5学习2-路由系统