Class: Weeter::Plugins::Notification::Resque
- Inherits:
-
Object
- Object
- Weeter::Plugins::Notification::Resque
- Includes:
- Weeter::Plugins::Net::Redis
- Defined in:
- lib/weeter/plugins/notification/resque.rb
Instance Method Summary collapse
- #delete_tweet(tweet_item) ⇒ Object
-
#initialize(client_app_config) ⇒ Resque
constructor
A new instance of Resque.
- #notify_missed_tweets(tweet_item) ⇒ Object
- #notify_rate_limiting_initiated(tweet_item, limited_keys) ⇒ Object
- #publish_tweet(tweet_item) ⇒ Object
Methods included from Weeter::Plugins::Net::Redis
Constructor Details
#initialize(client_app_config) ⇒ Resque
Returns a new instance of Resque.
7 8 9 |
# File 'lib/weeter/plugins/notification/resque.rb', line 7 def initialize(client_app_config) @config = client_app_config end |
Instance Method Details
#delete_tweet(tweet_item) ⇒ Object
17 18 19 20 21 |
# File 'lib/weeter/plugins/notification/resque.rb', line 17 def delete_tweet(tweet_item) resque_job = %Q|{"class":"WeeterDeleteTweetJob","args":[#{tweet_item.to_json}],"jid": "#{SecureRandom.hex(12)}"}| Weeter.logger.info("Deleting tweet #{tweet_item['id']} for user #{tweet_item['user']['id_str']}") enqueue(resque_job) end |
#notify_missed_tweets(tweet_item) ⇒ Object
23 24 25 26 27 |
# File 'lib/weeter/plugins/notification/resque.rb', line 23 def notify_missed_tweets(tweet_item) resque_job = %Q|{"class":"WeeterMissedTweetsJob","args":[#{tweet_item.to_json}],"jid": "#{SecureRandom.hex(12)}"}| Weeter.logger.info("Notifying of missed tweets (#{tweet_item.missed_tweets_count}).") enqueue(resque_job) end |
#notify_rate_limiting_initiated(tweet_item, limited_keys) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/weeter/plugins/notification/resque.rb', line 29 def notify_rate_limiting_initiated(tweet_item, limited_keys) payload = tweet_item.to_hash.merge(:limited_keys => limited_keys) payload_json = MultiJson.encode(payload) resque_job = %Q|{"class":"WeeterRateLimitingInitiatedJob","args":[#{payload_json}],"jid": "#{SecureRandom.hex(12)}"}| Weeter.logger.info("Initiated rate limiting with tweet: #{payload_json}") enqueue(resque_job) end |
#publish_tweet(tweet_item) ⇒ Object
11 12 13 14 15 |
# File 'lib/weeter/plugins/notification/resque.rb', line 11 def publish_tweet(tweet_item) resque_job = %Q|{"class":"WeeterPublishTweetJob","args":[#{tweet_item.to_json}],"jid": "#{SecureRandom.hex(12)}"}| Weeter.logger.info("Publishing tweet #{tweet_item['id']} from user #{tweet_item['user']['id_str']}: #{tweet_item['text']}") enqueue(resque_job) end |