Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel作业队列,有东西触发了两个1615错误_Php_Laravel_Laravel 7 - Fatal编程技术网

Php Laravel作业队列,有东西触发了两个1615错误

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

我很难看出是什么导致了这个错误,所以我将尝试解释到底发生了什么以及我在这里看到了什么

共享主机上的Laravel 7项目,带有一个cron任务:

* * * * * 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成功,并导致两次触发。我的意思是,这不会影响任何事情,但不知道为什么真的很烦人。