如题, 一般写法 每隔1分钟执行一次:0 */1 * * * ?
一般每隔90秒怎么写呢,好像实现不了
实在实现不了就代码枚举出具体时间来,再粘贴进去。 如果是Linux的crontab的最小执行单位是分不是秒,那么你上面的应该是一小时执行一次,使用我上面的方法借用sleep命令也可以解决。 如果你说的是node-cron库的话,直接可以用我上面的说的,枚举一个小时(正好一个小时有40个90秒),代码如下(大概逻辑是这样,没执行验证):
let needRunList = []; let min = 0; let sec = 0; while(min<60) { needRunList.push([sec,min,'*','*','*','*']) sec+=30; min+=1; if (sec==60) {sec=0;min++} } let runFunc = ()=>{ // 需要执行的代码 } for(let i=0;i<needRunList.length;i++) { new CronJob(needRunList[i].join(' '), runFunc); }
来自酷炫的 CNodeMD
先这样,再这样,最后那样就行了!
如果是egg的定时任务,cron不支持,但是可以用interval,参考schedule schedule: { interval: ‘90s’ }
这个问题很有意思啊。
我感觉不行,因为每隔90秒这个周期需要秒和分信息的关联。 例如秒可以落在0,30,0,30… 但是cron不知道当前分钟要取0还是30
感谢各位的给力回答,知道怎么做了
来自: https://serverfault.com/questions/123629/run-task-every-90-minutes-with-cron
0 0-21/3 * * * whatever 30 1-22/3 * * * whatever
很硬核的写法了。。
上面那个是90分钟的,这个是90秒 来自:https://stackoverflow.com/questions/6785222/cron-job-to-run-a-php-script-every-90-seconds-between-5am-and-10pm
-/3 5-22 * * * your_script.php -/3 5-22 * * * sleep 90;your_script.php
setInterval 虽然不是很精确但是够用。
*/30 */1 * * * ? 这样?
*/30 */1 * * * ?
或者 0/30 */1 * * * ? 这样!
0/30 */1 * * * ?
@tomoya92 这样不行,我试过了
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
实在实现不了就代码枚举出具体时间来,再粘贴进去。 如果是Linux的crontab的最小执行单位是分不是秒,那么你上面的应该是一小时执行一次,使用我上面的方法借用sleep命令也可以解决。 如果你说的是node-cron库的话,直接可以用我上面的说的,枚举一个小时(正好一个小时有40个90秒),代码如下(大概逻辑是这样,没执行验证):
来自酷炫的 CNodeMD
先这样,再这样,最后那样就行了!
如果是egg的定时任务,cron不支持,但是可以用interval,参考schedule schedule: { interval: ‘90s’ }
这个问题很有意思啊。
我感觉不行,因为每隔90秒这个周期需要秒和分信息的关联。 例如秒可以落在0,30,0,30… 但是cron不知道当前分钟要取0还是30
感谢各位的给力回答,知道怎么做了
来自: https://serverfault.com/questions/123629/run-task-every-90-minutes-with-cron
0 0-21/3 * * * whatever 30 1-22/3 * * * whatever
很硬核的写法了。。
上面那个是90分钟的,这个是90秒 来自:https://stackoverflow.com/questions/6785222/cron-job-to-run-a-php-script-every-90-seconds-between-5am-and-10pm
-/3 5-22 * * * your_script.php -/3 5-22 * * * sleep 90;your_script.php
很硬核的写法了。。
setInterval 虽然不是很精确但是够用。
*/30 */1 * * * ?这样?或者
0/30 */1 * * * ?这样!@tomoya92 这样不行,我试过了