运行 周一至周五上午 9 点到下午 5 点之间的节点调度程序
run node scheduler between 9am and 5pm - monday to friday
我有一个简单的 node.js 解析器,它必须只在工作时间将数据推送到远程服务器,其余时间都在休眠。
查看可用模块、计划和 node-cron (https://github.com/ncb000gt/node-cron) 似乎满足了我的部分要求。
我正在使用 PM2 模块重新启动进程,当它出现故障时
这是我目前在咖啡脚本中的内容:
runParser = (callback) ->
#...
console.log 'waking up parser...'
parseAll()
return
_jobs = [ {
name: 'Start parser'
cronTime: '00 34 16 * * 1-5'
onTick: runParser
start: true
id: 'parsedbf'
#timeZone: 'Europe/London'
} ]
_cronJobs = {}
schedule = ->
_jobs.map (job) ->
_cronJobs[job.id] = new cronJob(job)
console.log util.format('%s cronjob scheduled at %s on timezone', job.name, job.cronTime)
return
return
run = ->
start = moment('08:30','HH:mm').valueOf()
now = moment().valueOf()
end = moment('18:00','HH:mm').valueOf()
if start < now and now < end
runParser()
else
schedule(console.info 'scheduler started...')
run(console.info 'sync code statrted after a hard reboot...')
我的问题是,我如何更改脚本以便在 18:30 时解析器处于空闲状态?
我应该使用 schedule.js (http://bunkat.github.io/schedule/index.html) 我该如何为此修改代码?
非常感谢任何建议
你有什么理由不能在 cron 中 运行 这个吗?你有一个标记为 cron 的问题,它指的是 unix 实用程序,它是用来做这种事情的。您可以结合使用 cron 和 forever:一个调用在上午启动它,另一个调用在晚上停止脚本,否则它会连续 运行s。
我有一个简单的 node.js 解析器,它必须只在工作时间将数据推送到远程服务器,其余时间都在休眠。
查看可用模块、计划和 node-cron (https://github.com/ncb000gt/node-cron) 似乎满足了我的部分要求。
我正在使用 PM2 模块重新启动进程,当它出现故障时
这是我目前在咖啡脚本中的内容:
runParser = (callback) ->
#...
console.log 'waking up parser...'
parseAll()
return
_jobs = [ {
name: 'Start parser'
cronTime: '00 34 16 * * 1-5'
onTick: runParser
start: true
id: 'parsedbf'
#timeZone: 'Europe/London'
} ]
_cronJobs = {}
schedule = ->
_jobs.map (job) ->
_cronJobs[job.id] = new cronJob(job)
console.log util.format('%s cronjob scheduled at %s on timezone', job.name, job.cronTime)
return
return
run = ->
start = moment('08:30','HH:mm').valueOf()
now = moment().valueOf()
end = moment('18:00','HH:mm').valueOf()
if start < now and now < end
runParser()
else
schedule(console.info 'scheduler started...')
run(console.info 'sync code statrted after a hard reboot...')
我的问题是,我如何更改脚本以便在 18:30 时解析器处于空闲状态?
我应该使用 schedule.js (http://bunkat.github.io/schedule/index.html) 我该如何为此修改代码?
非常感谢任何建议
你有什么理由不能在 cron 中 运行 这个吗?你有一个标记为 cron 的问题,它指的是 unix 实用程序,它是用来做这种事情的。您可以结合使用 cron 和 forever:一个调用在上午启动它,另一个调用在晚上停止脚本,否则它会连续 运行s。