【问题标题】:Laravel jobs queue deadlocks with multiple queue daemonsLaravel 作业队列死锁与多个队列守护进程
【发布时间】:2016-01-27 01:05:22
【问题描述】:

我们有一个 Laravel 5.2 作业队列,由于这个错误,作业经常失败:

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction

我们有多个工作人员访问工作表,因为有些工作非常繁重。我在 SO 上看到过关于这个问题的类似帖子,但我还没有看到一个好的实用解决方案。

有没有一种有效的方法来避免 Laravel 作业表的死锁?

【问题讨论】:

    标签: php mysql laravel queue database-deadlocks


    【解决方案1】:

    我也有这个问题。我将有问题的查询放在一个函数中,并在调用该函数时包装了一个 try catch。我在 try 和 catch 块中都调用了该函数。所以如果有锁,抛出异常,catch块会重试查询。

    【讨论】:

      猜你喜欢
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 2016-05-31
      相关资源
      最近更新 更多