Home Articles

Laravel 5.5 . 队列推送

Asked
Viewed 832 times
0

我已将我的应用程序从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 Answers

  • 0

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

    dispatch((new UpdateReviewSummaryQueue($data));
    
  • 0

    问题实际上在这一行:

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

    将其改为此使其工作:

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

Related