新手问题 關於 Activejob 的幾個問題

Aiken00 · 2017年10月15日 · 最后由 yfractal 回复于 2017年10月16日 · 1309 次阅读

說來慚愧,用了這麼多年 Rails 一直使用 Sidekiq 沒有認真看過 ActiveJob 那一缺 最近在做小練習時有點不懂,希望能找到答案。

  1. 倘若不使用 Sidekiq, Resque (Redis based Caching),是否只能在 ActiveJob 內使用 Delayed Job?
  2. 倘若使用 Delayed Job, 有沒有些像 Cron 那樣的時間設定?(例子,每 X 分鐘運行一次)
  3. 在 Heroku 使用 Delayed Job,除了運行 worker 以後還需要額外的設定嗎?(主要是不想把信用卡綁上戶口)

ActiveJob 只是对异步队列的一个抽象封装,你用 Sidekiq 的方式依然不变,ActiveJob 只是统一了队列的使用方式(就如同 Active Record 统一了数据库的使用一样)

据我所知 Active Job 是没有具体的队列实现的,你需要额外使用 Sidekiq 或是 Resque 之类的东西配合。

Cron 有关的可以搜索,以前有过讨论。

Heroku 你要不想给钱,那还是不要浪费时间问了

有提供默认的,不过是 in process,而且 restart 的时候,job 会被清空。 http://guides.rubyonrails.org/active_job_basics.html#mainCol

huacnlee 回复

所以 ActiveJob 只是一個統一的界面給程式員 背後還是運行 sidekiq, resque 這些,就是官方提供一個寫法

會再找找 cron 的內容謝謝

yfractal 回复

所以官方方法就是 in memory cache 吧?謝謝

Aiken00 回复

这个就没看过了。。。

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