如果想要在程序里面做一个定时更新数据库数据的定时器,能有什么实现思路吗,比如我想在每天17:00更新一遍数据库数据(比如是把某个字段加1),有什么实现思路吗,或者如果用setInterval每隔24小时执行会不会有什么问题啊?以前用这个函数没定时过这么久的定时,怕出问题呢。
虽然有土办法,但还是期待有完备的思路
我用的方法 是linux 的cron 计划任务,执行某个特定脚本。修改数据库的值。
用 setInterval 有一个多小时的限制,可以用 setInterval 嵌套解决。
我也会用 cron 来处理,好控制。
The interval must be in the range of 1-2,147,483,647 inclusive. If the value is outside that range, it’s changed to 1 millisecond. Broadly speaking, a timer cannot span more than 24.8 days. 24小时理论上来讲是可以实现的。
setInterval不要设置这么长的时间间隔啊,比如设置10分钟检测一次,如果当前时间是17点左右的时间段,就开始执行任务
实际上完全可以先做一个精度为10分钟的cron模块
@duyinghua 我目前在用的就是,时间间隔小一点,然后判断时间是自己想要执行的范围,就执行~~
正好最近也在用cron去定時跑我的nodeJS程式, 這篇我的Blog讓你參考 :)
我原本也是想在nodeJS判定時間, 但後來發現用crontab就可以很簡單做到我想要的事
多谢,24.8天够了。我用的appfog云主机,貌似没法设置crontab,只能用setInterval.
有用appfog云主机的吗?它可否调用系统的crontab功能?