diff --git a/lib/travis/api/app/endpoint/builds.rb b/lib/travis/api/app/endpoint/builds.rb index 91d375dc..37d4b317 100644 --- a/lib/travis/api/app/endpoint/builds.rb +++ b/lib/travis/api/app/endpoint/builds.rb @@ -54,7 +54,13 @@ class Travis::Api::App status 400 result = false else - Travis::Sidekiq::BuildRestart.perform_async(id: params[:id], user_id: current_user.id) + + ::Sidekiq::Client.push( + 'queue' => 'hub', + 'class' => 'Travis::Hub::Sidekiq::Worker', + 'args' => ["build:restart", {id: params[:id], user_id: current_user.id}] + ) + status 202 result = true end diff --git a/lib/travis/api/workers/build_restart.rb b/lib/travis/api/workers/build_restart.rb index 427bc24b..2bf98c85 100644 --- a/lib/travis/api/workers/build_restart.rb +++ b/lib/travis/api/workers/build_restart.rb @@ -4,14 +4,15 @@ require 'multi_json' module Travis module Sidekiq class BuildRestart - class ProcessingError < StandardError; end - include ::Sidekiq::Worker - sidekiq_options queue: :build_restarts + sidekiq_options queue: :hub - def perform(data) - user = User.find(data['user_id']) - Travis.service(:reset_model, user, build_id: data['id']).run + def perform(payload) + ::Sidekiq::Client.push( + 'queue' => 'hub', + 'class' => 'Travis::Hub::Sidekiq::Worker', + 'args' => ["build:restart", payload] + ) end end