我有一個數據庫,其中包含一些tweets /文本,我想要在一個設定的時間間隔(例如:每60秒)發佈到Twitter。推文應該遍歷一個for循環,並在每個時間間隔發佈一條推文。for循環在作業schedueler resque在設定的時間間隔運行
我已經寫了一個方法,可以爲一條推文做這個,然後睡60秒。
class TweetsController < ApplicationController
def create
Tweet.all.each do |t|
current_user.tweet(t.text)
sleep 60
end
end
end
這基本上是做我想達到的目標,但需要異步和在後臺。我已經嘗試併成功安裝了redis/resque,但未能實現工作並實施工作。我是新來的鐵桿,從來沒有建立過後臺工作/職位。
我有一個Sender.rb工作在resque實施
class Sender
def self.queue = :tweets_queue end
def self.perform user_id
Tweet.all.each do |t|
current_user.tweet(t.text)
end
end
end
我已經根據所有作業將自動文件夾中的文件和自動加載執行resque。
但我目前遇到幾個問題。像這樣,for循環每次啓動worker都會運行(我從來沒有運行它)。我需要弄清楚工作人員每次作業開始時如何逐個遍歷數據庫條目。 另外我該如何安排要執行的作業(例如每60秒或每24小時運行一次Sender.rb作業等)? 對不起,這個模糊的帖子,但我一直試圖包圍我的頭幾天,並沒有取得任何進展。