9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/namira/async/performer.rb', line 9
def schedule(request, async_adapter, queue_name)
async_adapter = adapter(async_adapter)
queue_name ||= Namira.config.async_queue_name
payload = Namira::Async::Serializer.serialize_request(request)
case async_adapter
when :active_job
Namira::Async::ActiveJob::RequestJob.set(queue: queue_name).perform_later(payload)
when :sidekiq
Namira::Async::Sidekiq::RequestWorker.set(queue: queue_name).perform_async(payload)
when :thread
Thread.new { perform(payload) }
else
raise Namira::Errors::AsyncError, "Unknown Async Adapter #{async_adapter}"
end
end
|