Laravel更新数据库无法在作业队列中工作,但可以同步工作

时间:2019-08-25 00:16:26

标签: laravel

我正在尝试更新队列作业中的数据库行,该队列行在我的队列连接设置为sync时有效,而现在在队列连接设置为database时有效。

编辑:修复了序列化问题,队列中的更新数据库问题仍然存在。

public function handle()
    {

      $id = $this->settings->id;
      $server = $this->settings->server;
      $number = $this->settings->number;
      $api_script = storage_path('script.py');
      $delay = 5;

      //Determine Delay

      //Process Script Here

      //Check If Script Successful

      DB::table('orders')->where('order_id', $this->settings->order_id)->update(['status' => "Finalising..."]);

      ProcessEmails::dispatch($this->settings)->delay(now()->addMinutes($delay));
      // echo $process->getOutput();
    }

以上是我要执行的作业,update database命令同步工作,但在将连接设置为数据库时却无法工作。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

加班时,您会遇到一些非常非常愚蠢的错误。我的问题通过简单地重新启动queue:work命令即可解决。我的工作队列是:在我所有的编辑过程中,工作一直进行着,并结束了它,然后开始备份。.繁荣,我的数据库神奇地插入了工作。