情况:
我有一个包含任务(需要以不同的间隔运行(和两个php脚本(initator.php和worker.php(的表格。发起方脚本由 cron 每分钟运行一次,间隔与任务一起存储在一列中。
发起方脚本应检查应将哪些任务发送到工作线程脚本。
所以问题是:我如何确定哪些任务需要在当前分钟内运行?
我尝试使用"下一个"列(mysql 时间戳(进行尝试,发起器脚本检查下一列是否与当前日期匹配,没有秒,但由于延迟和执行时间,我认为这不是一个好的解决方案。
我不明白你为什么认为"下一个"是一个坏主意的解释。
一个关键问题是解决方案需要多大的可扩展性。如果您可以证明您永远不会有超过 20 条记录,那么读取每个任务记录并计算下一个计划时间/检查它是否在特定窗口内并不太繁琐。但是当你得到数百条记录时,那就完全不同了。在没有下一个计划执行时属性的情况下,无法创建可供 DBMS 使用的索引。