Fix perform_enqueued_jobs

Set
````
queue_adapter.perform_enqueued_jobs = true
queue_adapter.perform_enqueued_at_jobs = true
queue_adapter.filter = only
queue_adapter.reject = except
queue_adapter.queue = queue
```
if block given.
Execution of `flush_enqueued_jobs` doesn't require that.
This commit is contained in:
bogdanvlviv 2018-08-16 18:24:43 +03:00
parent ec2e8f645e
commit e0cf042fa2
No known key found for this signature in database
GPG Key ID: E4ACD76A6DB6DFDD

@ -415,7 +415,10 @@ def assert_performed_with(job: nil, args: nil, at: nil, queue: nil)
# end
#
def perform_enqueued_jobs(only: nil, except: nil, queue: nil)
return flush_enqueued_jobs(only: only, except: except, queue: queue) unless block_given?
validate_option(only: only, except: except)
old_perform_enqueued_jobs = queue_adapter.perform_enqueued_jobs
old_perform_enqueued_at_jobs = queue_adapter.perform_enqueued_at_jobs
old_filter = queue_adapter.filter
@ -429,7 +432,7 @@ def perform_enqueued_jobs(only: nil, except: nil, queue: nil)
queue_adapter.reject = except
queue_adapter.queue = queue
block_given? ? yield : flush_enqueued_jobs(only: only, except: except, queue: queue)
yield
ensure
queue_adapter.perform_enqueued_jobs = old_perform_enqueued_jobs
queue_adapter.perform_enqueued_at_jobs = old_perform_enqueued_at_jobs