如何解决为什么我的 MYSQL 事件调度程序每晚都在午夜停止?
所以我在 Synology NAS 上运行了这个数据库,用于使用 Laravel 制作的餐厅应用程序,我有这个 event here that should start every day at 4am
这次活动的内容没什么特别的:
UPDATE shipping_times SET shipping_times.available = shipping_times.max_quantity
事实是,即使我执行 GLOBAL event_scheduler = ON,每天午夜 事件调度程序变量 都会自动设置为 OFF。 >
这是一个相当大的问题,因为该事件用于“补充”可用订单。
因为我的活动应该在凌晨 4 点发生,所以我认为问题与活动无关。
可能是什么?
解决方法
替代方案:Laravel 任务调度
想到 Laravel Tasks 来解决这个问题:https://laravel.com/docs/8.x/scheduling
(其他 Laravel 版本文档也可用)
以这种方式添加重复性任务会将它们全部放在一个地方,而不是隐藏在菜单中的某处。它们也独立于您难以捉摸的 event_scheduler
。
您也可以使用命令并从任务调度代码中调用它。见 BKF 的评论。
您的活动是否触发?
我不确定,但如果您在 00:00 和 04:00 之间始终有流量,事件是否真的会触发? Laravel Tasks 也在事后触发,AFAIK。
,将此添加到 my.cnf(或任何配置文件):
event_scheduler = ON
并重启mysqld。
显然,有些东西每晚都会关闭 MySQL,也许是备份?以上设置每次重启都会开启。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。