核心需求:nodejs 库,当上一个任务完成后间隔一定时间调度下一个任务。
求助大佬们,有这样的开源库吗。
另外问个问题,在一个自托管运行的 nextjs 项目里,启动调度任务的代码,写在哪个位置,可以让代码启动的时候自动启动呢?
核心需求:nodejs 库,当上一个任务完成后间隔一定时间调度下一个任务。
求助大佬们,有这样的开源库吗。
另外问个问题,在一个自托管运行的 nextjs 项目里,启动调度任务的代码,写在哪个位置,可以让代码启动的时候自动启动呢?
|
243634473Mar 5, 2024
1
青龙面板
|
|
sankoocMar 5, 2024
2
远古时期 有个 async 库有这个功能
|
|
BelmodeMar 5, 2024
3
node-cron
|
|
guilingMar 5, 2024
4
一般的库都是定时"开始"执行任务的
如果想根据上一个任务结束时间来延时,可以在任务结束时动态创建下一个任务,大部分库都支持 要求不高的话 settimeout 都行 |
|
JvenMar 5, 2024
5
|
|
106npoMar 5, 2024 via Android
6
直接每个任务加个 sleep
|
|
rocmaxMar 5, 2024 via Android
7
nextjs custom server 启动的时候
https://nextjs.org/docs/pages/building-your-application/configuring/custom-server 不过我建议在 nextjs 只开发处理的 api ,使用外部定时调用服务比如 k8s 的 cronjob 来发请求给 api ,这样扩展性好点。 |
|
leopod1995Mar 5, 2024
8
有固定执行时间/周期,大部分用 cron 类就可以满足。
对待执行时间长,严格要求上一个结束后隔固定时间才能执行的,这种场景其实如楼上所说,setTimeout 不失为一种好的方案。 |
|
dudubabaMar 5, 2024
9
走定时任务机制啊,任务成功后写入下一个任务 id 到 redis ,然后定时拉取 redis 不是更好
|
|
BraydenCai229Mar 5, 2024
10
node-cron
|
|
11
setTimeout() 不行吗
上一个任务完成时创建一个 setTimeout() |
|
xudongMar 5, 2024
12
nextjs 我估计你的运行时可能是无服务器的,那么你最好把逻辑写成一个 http 接口,外部定时请求这个接口。可以用其他函数计算服务做定时触发调用。
|
|
nitmaliMar 5, 2024
13
rxjs
|
|
churchillMar 5, 2024
14
找个队列实现,自己写点任务逻辑不比各种定时器稳妥吗
比如 bullmq |
|
linkopeneyesMar 6, 2024
15
简单的就 setTimeout,复杂的用 rxjs
|
|
16
|
|
yh7gdiaYWMar 6, 2024
17
定时任务的话可以用 pm2 ,非常好用以至于我把现在 python 组里的后端部署模板也改成用这个了。
要上一个任务完成后再间隔一段时间执行,可以把触发频率设置的高一点,在任务开头检测下距上次完成过了多久 |
|
yh7gdiaYWMar 6, 2024
18
或者干脆 while true+setTimeout
|
|
20
|