diff --git a/app/models/tag_subscription.rb b/app/models/tag_subscription.rb index 2d81da10c..696e0ca80 100644 --- a/app/models/tag_subscription.rb +++ b/app/models/tag_subscription.rb @@ -151,18 +151,20 @@ class TagSubscription < ActiveRecord::Base arel.order("id DESC").limit(limit) end + def self.process(id) + tag_subscription = TagSubscription.find(id) + CurrentUser.scoped(tag_subscription.creator, "127.0.0.1") do + tag_subscription.process + tag_subscription.save + end + rescue Exception => x + raise if Rails.env != "production" + end + def self.process_all find_each do |tag_subscription| - CurrentUser.scoped(tag_subscription.creator, "127.0.0.1") do - if $job_task_daemon_active != false && tag_subscription.creator.is_gold? && tag_subscription.is_active? - begin - tag_subscription.process - tag_subscription.save - sleep 0 - rescue Exception => x - raise if Rails.env != "production" - end - end + if tag_subscription.creator.is_gold? && tag_subscription.is_active? + TagSubscription.delay(:queue => "default").process(tag_subscription.id) end end end diff --git a/test/unit/tag_subscription_test.rb b/test/unit/tag_subscription_test.rb index 4da3d6416..a3a57aa55 100644 --- a/test/unit/tag_subscription_test.rb +++ b/test/unit/tag_subscription_test.rb @@ -5,6 +5,7 @@ class TagSubscriptionTest < ActiveSupport::TestCase user = FactoryGirl.create(:user) CurrentUser.user = user CurrentUser.ip_addr = "127.0.0.1" + Delayed::Worker.delay_jobs = false MEMCACHE.flush_all end