xiaohantx:*/8 * * * * /bin/sh /www/wwwroot/xxxx.com/crontab.sh
目前是 8 分钟一次
rand_num=$(($RANDOM%300+60))
declare -i i=1;
while ((i<rand_num))
do
sleep 1
let i++
done
php /www/wwwroot/xxx.com/run.php
每 8 分钟把任务提出来一次然后再延迟 1-5 分钟,但是这样就会出现两个任务在跑的情况。。。想单任务但是时间在 a-b 间任意
TaxKiz:#!/bin/bash
export PATH='/bin:/sbin:/usr/bin:/usr/sbin'
while true; do
ps -ef | grep '/www/wwwroot/xxx.com/run.php' | grep -v '\bgrep\b' >/dev/null 2>&1
if [$? != 0]; then
rand_num=$(($RANDOM % 300 + 60))
declare -i i=1
while ((i < rand_num)); do
sleep 1
let i++
done
php /www/wwwroot/xxx.com/run.php
unset -v rand_num i
fi
done
xiaohantx:@TaxKiz crontab -e 里面的基础 8 分钟不变还是放在那是嘛
xiaohantx:@TaxKiz 好像丢服务器线程跑满了,CPU 变成了 100%。。。
TaxKiz:@xiaohantx 草率了,你加个 sleep
...
unset -v rand_num i
fi
sleep 1
done
TaxKiz:@xiaohantx sleep 时间自己定义
knightdf:```shell
*/a * * * * python -c 'import random; import time; time.sleep(random.randint(0, b-a) * 60)' && flock -x -n /www/wwwroot/xxx.com/run.php php /www/wwwroot/xxx.com/run.php
```
xiaohantx:@TaxKiz 不好意思不是很会 shell
日志报了个错
`/www/server/cron/d4e8c583cbd42140a85eac6baabec0f5: line 12: [1: command not found`
另外想问下我已经配置了定时任务,每 N (固定)分钟执行这个脚本,脚本里面的 sleep 是啥意思= =比如 1 分钟执行了这个 4 次然后随机时间还没到在后台定时这时候 sleep 是起到什么作用呢,不过感谢老哥
zlowly:1 、可以在脚本里保证单实例执行,大概方式就是
a)判断如果 lock 文件是否存在,如果存在则退出
b)touch lock
c)用 trap 在 exit 时候 rm lock
2 、这个需求其实还是不很明确,就是如果上一次还没执行完就到下一次的预定时间了该办?
3 、可以不用 crontab,用 atd 服务,然后脚本末尾用 at 指定下次执行时间。
wmwmajie:很多个类文件引用了 同一个第三方的库,那么这里类文件相互之间又有引用,请问这个被引用的第三方库是只会被加载一次么? 没研究过源码请教。JaguarJack:是的 只会一次
PHP-将日期插入日期时间字段 - php我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数
PHP-如何获取类的成员函数列表? - php如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友
PHP-我们应在会话中包含哪些数据? - php这是一个初学者的问题...在网站中,会话中应该包含或不应该包含什么类型的数据?我了解我不应该包含任何需要保持安全的信息。我对编程最佳实践更感兴趣。例如,有可能在会话中包括一些数据,否则这些数据将作为依赖项注入从一个页面发送到另一个页面。这不等于创建全局变量吗?一般来说,哪种数据在会话表中已经存在或没有?谢谢,JDelage 参考方案 您应该将会话视为一次写入…
PHP 如何实现会话永不过期,一直保持登录状态!s609926202:目前了解到的实现方式,如下: session.use_cookies=1 session.cookie_lifetime=999999999 session.gc_maxlifetime=999999999 请问还有其他方式吗?tomczhen:说好是一辈子就是一辈子,差一年一个月一天一个时辰都不行。:doge: dzdh:验证客户端证…