gpt4 book ai didi

node.js - 在周一至周五上午 9 点到下午 5 点之间运行 Node 调度程序

转载 作者:太空宇宙 更新时间:2023-11-04 02:22:48 25 4
gpt4 key购买 nike

我有一个简单的 Node.js 解析器,它必须仅在工作时间将数据推送到远程服务器,并在其余时间 sleep 。

查看可用的模块、计划和node-cron ( https://github.com/ncb000gt/node-cron ) 似乎满足了我的部分要求。

当进程出现故障时,我正在使用 PM2 模块重新启动该进程

这是我到目前为止在 CoffeeScript 中的内容:

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 :一个调用在上午启动它,另一个调用在晚上停止脚本,但否则它会连续运行。

关于node.js - 在周一至周五上午 9 点到下午 5 点之间运行 Node 调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32254898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com