From a91c3ef6cef0fe5a1645c043e7d4a5ef96e82c4f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 15 Nov 2016 15:43:33 +0100 Subject: [PATCH] Delegate processing of incoming PuSH data to background workers --- app/controllers/api/subscriptions_controller.rb | 2 +- app/workers/processing_worker.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 app/workers/processing_worker.rb diff --git a/app/controllers/api/subscriptions_controller.rb b/app/controllers/api/subscriptions_controller.rb index c3aeee94d..058ae8f5e 100644 --- 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 new file mode 100644 index 000000000..87ebbc5ea --- /dev/null +++ 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