GitHubで開発,利用されている https://github.com/resque/resque
組込まれているwebビューが見やすく,失敗したタスクのリトライや削除もできるようになっている.
Resqueを使ってTwitterに投稿するのは以下のように書く
# tweet.rb
require 'twitter'
class Tweet
@queue = :post_to_twitter
def self.perform(oauth_id, msg)
oauth = Oauth.find(oauth_id)
Twitter.configure do |config|
config.consumer_key = CONSUMER_KEY
config.consumer_secret = CONSUMER_SECRET
config.oauth_token = oauth.token
config.oauth_token_secret = oauth.secret
end
twitter_client = Twitter::Client.new
twitter_client.update(msg)
end
end
# enqueue
Resque.enqueue(Tweet, oauth_id, msg)