代码点火器 - 创建手动调度程序


Codeigniter - creation of a manual scheduler

我想在 Codeigniter 中创建一个调度程序,例如,在 21:24 应该更新"这个"记录。

我搜索了很多,但最终的答案是创建一个 cron 工作。

我可以在代码点火器中动态创建 cron 作业吗?

实际上,我正在考虑创建一个类,其中的方法将不断检查:

  1. 时间。
  2. 任何要更新的内容。

如何最有效地创建这样的功能,因为请求可能来自随机时间n数量的用户在不同时间完成特定工作?

我不会动态创建 cron 作业。

相反,我会有一个脚本,每分钟通过 cron 调用一次(每 10 分钟一次......),并将所有作业存储在数据库中,并按照它们应该运行的时间。

然后,在脚本中,您可以检查数据库,并查看是否有任何作业需要在这个时间或上次检查和现在之间运行。

要从 PHP 创建 CRON 作业,请使用 exec 命令。这应该有效(未经测试,在移动设备上)

exec(crontab -l | { cat; echo "0 0 0 0 0 php your_php_script.php"; } | crontab -);

或者,如果您想更好地向我们安排单个作业,请使用"at"命令。