我有一些與第三方應用程序的API一起工作的方法。在按鈕上點擊是沒有問題的,但它應該是永久性的過程。如何在Ruby-on-Rails中運行循環後臺進程?
如何運行它們的背景?以及如何暫停循環以使其他作品使用相同的API並在作業完成後恢復循環。
現在我讀到ActiveJob,但其有時間僅依賴關係......
UPDATE
我試着whenever
和sidekiq
使它,任務運行,但它什麼都不做。在哪裏查找日誌我無法理解。
**schedule.rb**
every 1.minute do
runner "UpdateWorker.perform_async"
end
**update_worker.rb**
class UpdateWorker
include Sidekiq::Worker
include CommonMods
def perform
logger.info "Things are happening."
logger.debug "Here's some info: #{hash.inspect}"
myMethod
end
def myMethod
....
....
....
end
end
這不完全是我所需要的,但更好的是什麼都沒有。有人可以用例子解釋我嗎?
UPDATE 2經過代碼操作後,絕對有必要重新啓動sidekiq。有了這個問題就解決了,但我不確定這是最好的方法。
你需要[每當寶石(HTTPS ://github.com/javan/whenever)來調度你的cron作業(task)和後臺進程[sidekiq gem](https://github.com/mperham/sidekiq)這裏是[rails cast for background process]( http://railscasts.com/episodes/366-sidekiq)。 –
您可以用'set:output','log/cron.log''例如 – theDrifter