我正在尝试安排一个进程,我将它保存在一个包含要运行的所需日期时间的表上。
我只是不知道如何解决这个问题,我应该为每个用户创建的进程创建一个条目,还是应该只创建一个条目,每 X 分钟运行一个脚本,检查数据库中应该是的进程运行,运行它们?
编辑: 我正在从处理任务调度的任何人那里寻找每种方法的优缺点和指导。我也想让它保持平台独立,但这不是必需的。我目前正在使用 linux 机器。
我正在尝试安排一个进程,我将它保存在一个包含要运行的所需日期时间的表上。
我只是不知道如何解决这个问题,我应该为每个用户创建的进程创建一个条目,还是应该只创建一个条目,每 X 分钟运行一个脚本,检查数据库中应该是的进程运行,运行它们?
编辑: 我正在从处理任务调度的任何人那里寻找每种方法的优缺点和指导。我也想让它保持平台独立,但这不是必需的。我目前正在使用 linux 机器。
您可能希望首先定义一些属性的需要(或不需要):
考虑到这些,我通常使用以下方案:
usleep()
,直到达到操作系统级别的粒度对于相当多的仅轮询工作负载,我使用这种方法取得了很好的效果。
编辑
忘了一个:如果你想要并行性,只需同时启动可并行的工作项
我认为您应该为每个用户创建的进程创建一个条目,因此它们的“繁重”工作由 cron 完成,这是为此而设计的。此外,另一种方法需要您运行检查数据库的脚本一段足够小的时间,以便任何用户创建的进程都可以按计划运行。