基于 Supervisor 运行控制台命令脚本,运行完毕 1 次之后,间隔 60 秒后再次运行控制台命令脚本的实现
1、配置文件 \channel-pub-api\build\c_files\etc\supervisord.d\yii-qq-transaction-video-sync.ini
[program:yii-qq-transaction-video-sync] command = php /sobey/www/channel-pub-api/yii qq-transaction-video/sync autorestart = true startsecs = 0 stopwaitsecs = 10 stderr_logfile = /data/logs/yii-qq-transaction-video-sync-stderr.log stdout_logfile = /data/logs/yii-qq-transaction-video-sync-stdout.log
2、在控制台命令脚本,运行 1 次,写入 1 个文件,代码如下
file_put_contents('/sobey/www/channel-pub-api/console/runtime/' . date('Y-m-d-H-i-s') . '.txt', time());
3、在开发环境升级后,查看目录 /sobey/www/channel-pub-api/console/runtime/ ,脚本执行完毕后,间隔 1 秒后,就立即执行下 1 次
-rw-r--r-- 1 root root 10 Nov 15 10:28 2018-11-15-10-28-29.txt -rw-r--r-- 1 root root 10 Nov 15 10:28 2018-11-15-10-28-30.txt -rw-r--r-- 1 root root 10 Nov 15 10:28 2018-11-15-10-28-31.txt -rw-r--r-- 1 root root 10 Nov 15 10:28 2018-11-15-10-28-32.txt -rw-r--r-- 1 root root 10 Nov 15 10:28 2018-11-15-10-28-33.txt -rw-r--r-- 1 root root 10 Nov 15 10:28 2018-11-15-10-28-34.txt -rw-r--r-- 1 root root 10 Nov 15 10:28 2018-11-15-10-28-35.txt
4、现在的需求是,运行完毕 1 次之后,间隔 60 秒后再次运行控制台命令脚本,最终决定在脚本内部基于 sleep 实现,脚本执行完毕后,间隔 61 秒后,就立即执行下 1 次
// 延缓执行 60 秒 sleep(60);
-rw-r--r-- 1 root root 10 Nov 15 10:45 2018-11-15-10-45-35.txt -rw-r--r-- 1 root root 10 Nov 15 10:46 2018-11-15-10-46-36.txt -rw-r--r-- 1 root root 10 Nov 15 10:47 2018-11-15-10-47-37.txt -rw-r--r-- 1 root root 10 Nov 15 10:48 2018-11-15-10-48-38.txt -rw-r--r-- 1 root root 10 Nov 15 10:49 2018-11-15-10-49-39.txt
近期评论