用户添加定时任务后如
每月30 号发工资
订单到期未付款恢复
这种是如何做的?
直接在Linux 操作crontab 可以,
但是用户添加一个任务就加到 crontab 怎么实现?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
关键词: shell_exec ,php 安全模式
shell_exec 解决你添加定时任务的问题 ,php 安全模式开启的时候是没法使用 shell_exec 函数的。
定时任务可以存储到MySQL或者文件里,然后用crontab 去跑mysql或文件
使用crontab,如:
mysql 存储过程也可以跑定时任务
用独立的定时任务中间件管理, 用户定时任务不适合放到crontab中
我引用一下Naist
首先你要会使用crontab,没错,不会用就自己百度了,这里不做回答,可以写一篇博客了。
然后在命令行
了之后
有可能不是crontab,我之前用
node.js
写过一个用户可以自己定时的WebSocket,在后台挂起。当用户向这个WebSocket发送请求时,把定时的时间记录到一个缓存文件中(JSON),然后设置node.js
自己的定时器。如果这个WebSocket服务挂掉了的话,只要重新启动这个后台脚本,脚本会通过缓存的JSON里记录的时间,重新设定计划任务。这里我可以放一些代码,核心的代码被省略,另外加了点注释供参考
php的话,选择定时任务只能用crontab,这样最短的轮训时间是1秒
如果想要1秒以内,就得另寻他法了。