commit: a91c3ef6cef0fe5a1645c043e7d4a5ef96e82c4f
parent: cea28e0c1d91489756491f24a3e1376188d2bbf8
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Tue, 15 Nov 2016 15:43:33 +0100
Delegate processing of incoming PuSH data to background workers
Diffstat:
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/app/controllers/api/subscriptions_controller.rb b/app/controllers/api/subscriptions_controller.rb
@@ -16,7 +16,7 @@ class Api::SubscriptionsController < ApiController
subscription = @account.subscription(api_subscription_url(@account.id))
if subscription.verify(body, request.headers['HTTP_X_HUB_SIGNATURE'])
- ProcessFeedService.new.call(body, @account)
+ ProcessingWorker.perform_async(@account.id, body.force_encoding('UTF-8'))
head 201
else
head 202
diff --git a/app/workers/processing_worker.rb b/app/workers/processing_worker.rb
@@ -0,0 +1,7 @@
+class ProcessingWorker
+ include Sidekiq::Worker
+
+ def perform(account_id, body)
+ ProcessFeedService.new.call(body, Account.find(account_id))
+ end
+end