Php Laravel作业队列,有东西触发了两个1615错误
我很难看出是什么导致了这个错误,所以我将尝试解释到底发生了什么以及我在这里看到了什么 共享主机上的Laravel 7项目,带有一个cron任务:Php Laravel作业队列,有东西触发了两个1615错误,php,laravel,laravel-7,Php,Laravel,Laravel 7,我很难看出是什么导致了这个错误,所以我将尝试解释到底发生了什么以及我在这里看到了什么 共享主机上的Laravel 7项目,带有一个cron任务: * * * * * artisan schedule:run >> /dev/null 2>&1 没有监管者等,所以现在在。/Console/Kernel.php的调度函数中我有: $schedule->command('queue:restart') ->everyFiveMinutes
* * * * * artisan schedule:run >> /dev/null 2>&1
没有监管者等,所以现在在。/Console/Kernel.php
的调度
函数中我有:
$schedule->command('queue:restart')
->everyFiveMinutes();
$schedule->command('queue:work --daemon')
->everyMinute()
->withoutOverlapping();
$schedule->command('myapp:mycommand')->daily();
所发生的事情是,每到午夜,mycommand都会运行得非常好,并且它能完成它的工作。然而,每天晚上大约一小时后,都会有东西触发1615错误两次:
SQLSTATE[HY000]: General error: 1615 Prepared statement needs to be re-prepared
(SQL: select * from `jobs` where `queue` = default and ((`reserved_at` is null and
`available_at` <= 1604019606) or (`reserved_at` <= 1604019516)) order by `id` asc
limit 1 for update)
SQLSTATE[HY000]:一般错误:1615准备好的语句需要重新准备
(SQL:select*from`jobs`,其中`queue`=默认值,(`reserved_at`为空,且
`可在`这是否回答了您的问题?@Svetoslav上找到。\n我确信解决方案实际上会消除此错误,但我希望找到此问题的真正原因,并找到不会引入可能的安全漏洞或影响我的验证层的解决方案。/此问题听起来更像是SQL问题(或配置错误)..对于laravel 1,建议在数据库配置中设置PDO ATTR_SIMULATE_PREADES。对于laravel,建议在您的数据库中设置更高的表定义_缓存。@Svetoslav谢谢!现在我通过提高TDC来摆脱它,但遗憾的是,这只是一个临时解决方案,因为我无法永远提高它。似乎MariaDB已经有了关键的问题关于这一点的票务开放(相同?)问题已超过两年。我确信这与其他问题不同,因为在其他问题中,问题是由用户代码触发的,而我的错误仅来自供应商中的Laravels队列代码。您愿意给出答案吗,还是我投票结束?但我仍然不明白Laravel在运行com一小时后在做什么mand成功,并导致两次触发。我的意思是,这不会影响任何事情,但不知道为什么真的很烦人。