Laravel 5.5。队列推送

时间:2017-12-05 07:25:29

标签: php laravel queue

我已将我的应用程序从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升级指南建议

2 个答案:

答案 0 :(得分:0)

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

dispatch((new UpdateReviewSummaryQueue($data));

答案 1 :(得分:0)

问题实际上在这一行:

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

将其更改为已成功:

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