我有一个运行多个vhost的web服务器,每个vhost都有许多需要运行的作业,这些作业既是web请求,也是ruby。
例如,我必须每2分钟运行一次ruby脚本来检查电子邮件,然后每小时运行一次另一个ruby脚本来检查更新。然后我需要在每晚6点运行一个网页来给我发送一份电子邮件报告。然后,我需要运行另一个网页每6个小时的一般任务。
所以我现在的做法是在crontab中,我为ruby脚本的每个条目输入一个新的行,我只调用rb文件,对于网页,我运行wget,它确实工作得很好
问题是,我现在开始在我的crontab中获得很多条目100+,如果我写了一个新脚本,我必须在crontab中为每个vhost添加条目(当我遗漏一个条目时,问题就会发生)
我希望在mysql中构建一个cron,然后为每个虚拟主机调用"mysql cron“一次,然后它将添加其余的内容。
然后我只需要在crontab中输入一个条目,如果我需要在中添加一个新的调度,那么我只需要在mysql中写入一个条目
有人知道我怎么能做到这一点吗
发布于 2018-07-02 01:57:55
为什么不对专用于数据库的脚本使用MySQL调度作业(又称事件)呢?
我认为这可能是更好的方式。将您的脚本分成两类:数据库和其他。其他的将继续在linux cron (或windows计划)上运行,数据库脚本将在MySQL事件上运行。
需要考虑的优点:
事件备份(当您发出数据库的备份时,脚本也将是--
有关如何创建MySQL事件的信息,请参阅Click here。
下面提供了一个小的事件示例。这个想法是每6个小时触发一次更新:
CREATE EVENT my_first_event ON SCHEDULE EVERY 6 HOUR DO BEGIN UPDATE tab_pricelist SET promo_price = full_price - (full_price * discount) END ;
https://stackoverflow.com/questions/51124380
复制相似问题