为什么我的MYSQL事件调度程序每晚都会在午夜停止



所以我在Synology NAS上运行了这个数据库,用于一个用Laravel制作的餐厅应用程序,我在这里有这个活动,应该每天凌晨4点开始

这次活动的内容没有什么特别之处:

UPDATE shipping_times SET shipping_times.available = shipping_times.max_quantity

问题是,每天晚上午夜,事件调度程序变量自动设置为OFF,即使我执行GLOBAL event_scheduler=ON

这是一个相当大的问题;补充";可用订单。

由于我的活动应该在凌晨4点举行,我认为问题与活动无关。

可能是什么?

备选方案:Laravel任务调度

相反,Laravel的任务是为了解决这个问题:https://laravel.com/docs/8.x/scheduling
(也有其他Laravel版本的文档(

以这种方式添加重复任务可以将它们全部放在一个位置,而不是隐藏在菜单中的某个位置。它们也独立于你难以捉摸的event_scheduler

您也可以使用命令并从任务调度代码中调用它。参见BKF的评论。

你的活动开始了吗

我不确定,但只有在00:00到04:00之间总是有流量的情况下,事件才会启动,这是真的吗?Laravel任务也在事后开火,AFAIK。

将其添加到my.cnf(或配置文件的服务器(:

event_scheduler = ON

并重新启动mysqld。

显然,每天晚上都有什么东西在关闭MySQL,也许是备份?上述设置将在每次重新启动时将其打开。

最新更新