新手问题 能否在代码中实现类似 VB 中 Timer 的功能呢

netuser · 2018年09月13日 · 最后由 a-wing 回复于 2018年09月14日 · 1199 次阅读

有这样一段代码,需要每隔一段时间(比如 30s)执行一次 在 loop 中用 delay 时间精度不够 用 whenever 的话就还要新起一个 RUBY 进程,也不符合需求 clockwork 也是一样, 爬了下帖子,多数也是使用 whenever 这种,有没有什么办法能在代码中实现呢 比如



Timer.set(30s, def_wantoexcute)
def wantoexcute()

end

有 sidekiq,可以用 sidekiq 的定时运行工具。要不就直接用原生的 crontab

eventmachine

concurrent-ruby 有 TimerTask

也可以用 ActiveJob(默认的 adapter 好像就是 TimerTask,我记不清了。。)

还有 timers

rufus-scheduler

需要 登录 后方可回复, 如果你还没有账号请 注册新账号