我想在 Codeigniter 中创建一个调度程序,例如,在 21:24 应该更新"这个"记录。
我搜索了很多,但最终的答案是创建一个 cron 工作。
我可以在代码点火器中动态创建 cron 作业吗?
实际上,我正在考虑创建一个类,其中的方法将不断检查:
- 时间。
- 任何要更新的内容。
如何最有效地创建这样的功能,因为请求可能来自随机时间n
数量的用户在不同时间完成特定工作?
我不会动态创建 cron 作业。
相反,我会有一个脚本,每分钟通过 cron 调用一次(每 10 分钟一次......),并将所有作业存储在数据库中,并按照它们应该运行的时间。
然后,在脚本中,您可以检查数据库,并查看是否有任何作业需要在这个时间或上次检查和现在之间运行。
要从 PHP 创建 CRON 作业,请使用 exec 命令。这应该有效(未经测试,在移动设备上)
exec(crontab -l | { cat; echo "0 0 0 0 0 php your_php_script.php"; } | crontab -);
或者,如果您想更好地向我们安排单个作业,请使用"at"命令。