1
alp 2018-08-06 09:58:30 +08:00 1
脚本定期执行。然后脚本里面随机 exit
|
2
ShuangFan 2018-08-06 10:07:03 +08:00
脚本 1 第一次启动随机一个未来时间存储下来,脚本 2 单独定期执行检测所存储的未来时间,直到到达定期时间执行需要的操作,然后 1 重新获取一个未来时间存储。
ps:我不懂 php 啦,只是提供一个想法 |
3
tianyou666shen 2018-08-06 10:26:25 +08:00 1
仅供参考 timedTask.php
1 .当前时间往后生成随机时间 存入 mysql 脚本类似于 while( true ){ timedTask(); } function timedTask(){ if( startTime <= time() ){ //your code //生成下个随机时间 nextTime = time() + rand(xx,xxx); //写入 mysql 一条记录 }else{ sleep(30); //一定误差 时间越短越随机 消耗越大 } } 2.linux 执行脚本 # nohup php timedTask.php & //脚本设为后台进程 忽略登出讯号 |
4
twor 2018-08-06 10:26:45 +08:00
1L 靠谱
|
5
linpf 2018-08-06 15:41:08 +08:00
真正的随机就是 3L 的常驻进程
但是 1L 的伪随机也是一个不错的办法。 |
6
chq3272991 2018-08-08 09:47:54 +08:00
赞同一楼,crontab 定期进入 php 脚本,然后脚本内等待一定时间(随机)再执行
|
7
jason56 2018-08-09 17:09:48 +08:00
如果你用在一个需要特别稳定的场景,建议用 swoole task
|
8
ksharp8 2018-08-24 09:40:10 +08:00
用 rand+crontab
|