Hello community,
here is the log from the commit of package rubygem-delayed_job for
openSUSE:Factory checked in at 2016-06-12 18:54:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-delayed_job (Old)
and /work/SRC/openSUSE:Factory/.rubygem-delayed_job.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-delayed_job"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-delayed_job/rubygem-delayed_job.changes
2015-09-27 08:39:42.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-delayed_job.new/rubygem-delayed_job.changes
2016-06-12 18:54:29.000000000 +0200
@@ -1,0 +2,12 @@
+Tue May 17 04:35:07 UTC 2016 - [email protected]
+
+- updated to version 4.1.2
+ see installed CHANGELOG.md
+
+ 4.1.2 - 2016-05-16
+ * Added Delayed::Worker.queue_attributes
+ * Limit what we require in ActiveSupport
+ * Fix pid file creation when there is no tmp directory
+ * Rails 5 support
+
+-------------------------------------------------------------------
Old:
----
delayed_job-4.1.1.gem
New:
----
delayed_job-4.1.2.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-delayed_job.spec ++++++
--- /var/tmp/diff_new_pack.t41Qn2/_old 2016-06-12 18:54:30.000000000 +0200
+++ /var/tmp/diff_new_pack.t41Qn2/_new 2016-06-12 18:54:30.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-delayed_job
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-delayed_job
-Version: 4.1.1
+Version: 4.1.2
Release: 0
%define mod_name delayed_job
%define mod_full_name %{mod_name}-%{version}
++++++ delayed_job-4.1.1.gem -> delayed_job-4.1.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2015-09-24 23:40:11.000000000 +0200
+++ new/CHANGELOG.md 2016-05-16 18:29:42.000000000 +0200
@@ -1,3 +1,9 @@
+4.1.2 - 2016-05-16
+* Added Delayed::Worker.queue_attributes
+* Limit what we require in ActiveSupport
+* Fix pid file creation when there is no tmp directory
+* Rails 5 support
+
4.1.1 - 2015-09-24
==================
* Fix shared specs for back-ends that reload objects
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2015-09-24 23:40:11.000000000 +0200
+++ new/README.md 2016-05-16 18:29:42.000000000 +0200
@@ -1,7 +1,7 @@
**If you're viewing this at https://github.com/collectiveidea/delayed_job,
you're reading the documentation for the master branch.
[View documentation for the latest release
-(4.0.6).](https://github.com/collectiveidea/delayed_job/tree/v4.0.6)**
+(4.1.2).](https://github.com/collectiveidea/delayed_job/tree/v4.1.2)**
Delayed::Job
============
@@ -205,6 +205,21 @@
handle_asynchronously :tweet_later, :queue => 'tweets'
```
+You can configure default priorities for named queues:
+
+```ruby
+Delayed::Worker.queue_attributes = {
+ high_priority: { priority: -10 },
+ low_priority: { priority: 10 }
+}
+```
+
+Configured queue priorities can be overriden by passing priority to the delay
method
+
+```ruby
+object.delay(:queue => 'high_priority', priority: 0).method
+```
+
Running Jobs
============
`script/delayed_job` can be used to manage a background process which will
@@ -425,6 +440,8 @@
By default all jobs will be queued without a named queue. A default named
queue can be specified by using `Delayed::Worker.default_queue_name`.
+If no jobs are found, the worker sleeps for the amount of time specified by
the sleep delay option. Set `Delayed::Worker.sleep_delay = 60` for a 60 second
sleep time.
+
It is possible to disable delayed jobs for testing purposes. Set
`Delayed::Worker.delay_jobs = false` to execute all jobs realtime.
Or `Delayed::Worker.delay_jobs` can be a Proc that decides whether to execute
jobs inline on a per-job basis:
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/delayed_job.gemspec new/delayed_job.gemspec
--- old/delayed_job.gemspec 2015-09-24 23:40:11.000000000 +0200
+++ new/delayed_job.gemspec 2016-05-16 18:29:42.000000000 +0200
@@ -1,15 +1,17 @@
+# -*- encoding: utf-8 -*-
+
Gem::Specification.new do |spec|
- spec.add_dependency 'activesupport', ['>= 3.0', '< 5.0']
+ spec.add_dependency 'activesupport', ['>= 3.0', '< 5.1']
spec.authors = ['Brandon Keepers', 'Brian Ryckbost', 'Chris Gaffney',
'David Genord II', 'Erik Michaels-Ober', 'Matt Griffin', 'Steve Richert',
'Tobias Lütke']
spec.description = 'Delayed_job (or DJ) encapsulates the common pattern
of asynchronously executing longer tasks in the background. It is a direct
extraction from Shopify where the job table is responsible for a multitude of
core tasks.'
spec.email = ['[email protected]']
spec.files = %w[CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md
Rakefile delayed_job.gemspec]
- spec.files += Dir.glob('{contrib,lib,recipes,spec}/**/*')
+ spec.files += Dir.glob('{contrib,lib,recipes,spec}/**/*') #
rubocop:disable SpaceAroundOperators
spec.homepage = 'http://github.com/collectiveidea/delayed_job'
spec.licenses = ['MIT']
spec.name = 'delayed_job'
spec.require_paths = ['lib']
spec.summary = 'Database-backed asynchronous priority queue system --
Extracted from Shopify'
spec.test_files = Dir.glob('spec/**/*')
- spec.version = '4.1.1'
+ spec.version = '4.1.2'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/backend/base.rb
new/lib/delayed/backend/base.rb
--- old/lib/delayed/backend/base.rb 2015-09-24 23:40:11.000000000 +0200
+++ new/lib/delayed/backend/base.rb 2016-05-16 18:29:42.000000000 +0200
@@ -7,28 +7,12 @@
module ClassMethods
# Add a job to the queue
- def enqueue(*args) # rubocop:disable CyclomaticComplexity
- options = args.extract_options!
- options[:payload_object] ||= args.shift
- options[:priority] ||= Delayed::Worker.default_priority
-
- if options[:queue].nil?
- if options[:payload_object].respond_to?(:queue_name)
- options[:queue] = options[:payload_object].queue_name
- end
- options[:queue] ||= Delayed::Worker.default_queue_name
- end
-
- if args.size > 0
- warn '[DEPRECATION] Passing multiple arguments to `#enqueue` is
deprecated. Pass a hash with :priority and :run_at.'
- options[:priority] = args.first || options[:priority]
- options[:run_at] = args[1]
- end
-
- unless options[:payload_object].respond_to?(:perform)
- raise ArgumentError, 'Cannot enqueue items which do not respond to
perform'
- end
+ def enqueue(*args)
+ job_options = Delayed::Backend::JobPreparer.new(*args).prepare
+ enqueue_job(job_options)
+ end
+ def enqueue_job(options)
new(options).tap do |job|
Delayed::Worker.lifecycle.run_callbacks(:enqueue, job) do
job.hook(:enqueue)
@@ -66,7 +50,7 @@
attr_reader :error
def error=(error)
@error = error
- self.last_error = "#{error.message}\n#{error.backtrace.join("\n")}" if
self.respond_to?(:last_error=)
+ self.last_error = "#{error.message}\n#{error.backtrace.join("\n")}" if
respond_to?(:last_error=)
end
def failed?
@@ -74,7 +58,7 @@
end
alias_method :failed, :failed?
- ParseObjectFromYaml = /\!ruby\/\w+\:([^\s]+)/ # rubocop:disable
ConstantName
+ ParseObjectFromYaml = %r{\!ruby/\w+\:([^\s]+)} # rubocop:disable
ConstantName
def name
@name ||= payload_object.respond_to?(:display_name) ?
payload_object.display_name : payload_object.class.name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/backend/job_preparer.rb
new/lib/delayed/backend/job_preparer.rb
--- old/lib/delayed/backend/job_preparer.rb 1970-01-01 01:00:00.000000000
+0100
+++ new/lib/delayed/backend/job_preparer.rb 2016-05-16 18:29:42.000000000
+0200
@@ -0,0 +1,51 @@
+module Delayed
+ module Backend
+ class JobPreparer
+ attr_reader :options, :args
+
+ def initialize(*args)
+ @options = args.extract_options!
+ @args = args
+ end
+
+ def prepare
+ set_payload
+ set_queue_name
+ set_priority
+ handle_deprecation
+ options
+ end
+
+ private
+
+ def set_payload
+ options[:payload_object] ||= args.shift
+ end
+
+ def set_queue_name
+ if options[:queue].nil? &&
options[:payload_object].respond_to?(:queue_name)
+ options[:queue] = options[:payload_object].queue_name
+ else
+ options[:queue] ||= Delayed::Worker.default_queue_name
+ end
+ end
+
+ def set_priority
+ queue_attribute = Delayed::Worker.queue_attributes[options[:queue]]
+ options[:priority] ||= (queue_attribute && queue_attribute[:priority])
|| Delayed::Worker.default_priority
+ end
+
+ def handle_deprecation
+ if args.size > 0
+ warn '[DEPRECATION] Passing multiple arguments to `#enqueue` is
deprecated. Pass a hash with :priority and :run_at.'
+ options[:priority] = args.first || options[:priority]
+ options[:run_at] = args[1]
+ end
+
+ unless options[:payload_object].respond_to?(:perform)
+ raise ArgumentError, 'Cannot enqueue items which do not respond to
perform'
+ end
+ end
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/backend/shared_spec.rb
new/lib/delayed/backend/shared_spec.rb
--- old/lib/delayed/backend/shared_spec.rb 2015-09-24 23:40:11.000000000
+0200
+++ new/lib/delayed/backend/shared_spec.rb 2016-05-16 18:29:42.000000000
+0200
@@ -1,6 +1,6 @@
require File.expand_path('../../../../spec/sample_jobs', __FILE__)
-require 'active_support/core_ext'
+require 'active_support/core_ext/numeric/time'
shared_examples_for 'a delayed_job backend' do
let(:worker) { Delayed::Worker.new }
@@ -279,6 +279,7 @@
after do
Delayed::Worker.max_priority = nil
Delayed::Worker.min_priority = nil
+ Delayed::Worker.queue_attributes = {}
end
it 'fetches jobs ordered by priority' do
@@ -314,6 +315,18 @@
end
expect(described_class.reserve(worker)).to be_nil
end
+
+ it 'sets job priority based on queue_attributes configuration' do
+ Delayed::Worker.queue_attributes = {'job_tracking' => {:priority => 4}}
+ job = described_class.enqueue :payload_object => NamedQueueJob.new
+ expect(job.priority).to eq(4)
+ end
+
+ it 'sets job priority based on the passed in priority overrideing
queue_attributes configuration' do
+ Delayed::Worker.queue_attributes = {'job_tracking' => {:priority => 4}}
+ job = described_class.enqueue :payload_object => NamedQueueJob.new,
:priority => 10
+ expect(job.priority).to eq(10)
+ end
end
context 'clear_locks!' do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/command.rb new/lib/delayed/command.rb
--- old/lib/delayed/command.rb 2015-09-24 23:40:11.000000000 +0200
+++ new/lib/delayed/command.rb 2016-05-16 18:29:42.000000000 +0200
@@ -5,6 +5,7 @@
raise "You need to add gem 'daemons' to your Gemfile if you wish to use
it."
end
end
+require 'fileutils'
require 'optparse'
require 'pathname'
@@ -32,7 +33,7 @@
exit 1
end
opt.on('-e', '--environment=NAME', 'Specifies the environment to run
this delayed jobs under (test/development/production).') do |_e|
- STDERR.puts 'The -e/--environment option has been deprecated and has
no effect. Use RAILS_ENV and see
http://github.com/collectiveidea/delayed_job/issues/#issue/7'
+ STDERR.puts 'The -e/--environment option has been deprecated and has
no effect. Use RAILS_ENV and see
http://github.com/collectiveidea/delayed_job/issues/7'
end
opt.on('--min-priority N', 'Minimum priority of jobs to run.') do |n|
@options[:min_priority] = n
@@ -82,7 +83,7 @@
def daemonize # rubocop:disable PerceivedComplexity
dir = @options[:pid_dir]
- Dir.mkdir(dir) unless File.exist?(dir)
+ FileUtils.mkdir_p(dir) unless File.exist?(dir)
if worker_pools
setup_pools
@@ -142,11 +143,7 @@
@worker_pools ||= []
queues, worker_count = pool.split(':')
- if ['*', '', nil].include?(queues)
- queues = []
- else
- queues = queues.split(',')
- end
+ queues = ['*', '', nil].include?(queues) ? [] : queues.split(',')
worker_count = (worker_count || 1).to_i rescue 1
@worker_pools << [queues, worker_count]
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/lifecycle.rb new/lib/delayed/lifecycle.rb
--- old/lib/delayed/lifecycle.rb 2015-09-24 23:40:11.000000000 +0200
+++ new/lib/delayed/lifecycle.rb 2016-05-16 18:29:42.000000000 +0200
@@ -10,7 +10,7 @@
:error => [:worker, :job],
:failure => [:worker, :job],
:invoke_job => [:job]
- }
+ }.freeze
def initialize
@callbacks = EVENTS.keys.each_with_object({}) do |e, hash|
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/message_sending.rb
new/lib/delayed/message_sending.rb
--- old/lib/delayed/message_sending.rb 2015-09-24 23:40:11.000000000 +0200
+++ new/lib/delayed/message_sending.rb 2016-05-16 18:29:42.000000000 +0200
@@ -1,5 +1,3 @@
-require 'active_support/core_ext/module/aliasing'
-
module Delayed
class DelayProxy < Delayed::Compatibility.proxy_object_class
def initialize(payload_class, target, options)
@@ -30,7 +28,7 @@
end
module ClassMethods
- def handle_asynchronously(method, opts = {})
+ def handle_asynchronously(method, opts = {}) # rubocop:disable
PerceivedComplexity
aliased_method = method.to_s.sub(/([?!=])$/, '')
punctuation = $1 # rubocop:disable PerlBackrefs
with_method = "#{aliased_method}_with_delay#{punctuation}"
@@ -47,7 +45,17 @@
end
delay(curr_opts).__send__(without_method, *args)
end
- alias_method_chain method, :delay
+
+ alias_method without_method, method
+ alias_method method, with_method
+
+ if public_method_defined?(without_method)
+ public method
+ elsif protected_method_defined?(without_method)
+ protected method
+ elsif private_method_defined?(without_method)
+ private method
+ end
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/performable_method.rb
new/lib/delayed/performable_method.rb
--- old/lib/delayed/performable_method.rb 2015-09-24 23:40:11.000000000
+0200
+++ new/lib/delayed/performable_method.rb 2016-05-16 18:29:42.000000000
+0200
@@ -1,11 +1,7 @@
-require 'active_support/core_ext/module/delegation'
-
module Delayed
class PerformableMethod
attr_accessor :object, :method_name, :args
- delegate :method, :to => :object
-
def initialize(object, method_name, args)
raise NoMethodError, "undefined method `#{method_name}' for
#{object.inspect}" unless object.respond_to?(method_name, true)
@@ -30,6 +26,10 @@
object.send(method_name, *args) if object
end
+ def method(sym)
+ object.method(sym)
+ end
+
def method_missing(symbol, *args)
object.send(symbol, *args)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/psych_ext.rb new/lib/delayed/psych_ext.rb
--- old/lib/delayed/psych_ext.rb 2015-09-24 23:40:11.000000000 +0200
+++ new/lib/delayed/psych_ext.rb 2016-05-16 18:29:42.000000000 +0200
@@ -31,7 +31,7 @@
return revive(Psych.load_tags[object.tag], object) if
Psych.load_tags[object.tag]
case object.tag
- when /^!ruby\/object/
+ when %r{^!ruby/object}
result = super
if defined?(ActiveRecord::Base) && result.is_a?(ActiveRecord::Base)
klass = result.class
@@ -44,7 +44,7 @@
else
result
end
- when /^!ruby\/ActiveRecord:(.+)$/
+ when %r{^!ruby/ActiveRecord:(.+)$}
klass = resolve_class(Regexp.last_match[1])
payload = Hash[*object.children.map { |c| accept c }]
id = payload['attributes'][klass.primary_key]
@@ -54,7 +54,7 @@
rescue ActiveRecord::RecordNotFound => error
raise Delayed::DeserializationError,
"ActiveRecord::RecordNotFound, class: #{klass}, primary key: #{id}
(#{error.message})"
end
- when /^!ruby\/Mongoid:(.+)$/
+ when %r{^!ruby/Mongoid:(.+)$}
klass = resolve_class(Regexp.last_match[1])
payload = Hash[*object.children.map { |c| accept c }]
id = payload['attributes']['_id']
@@ -63,7 +63,7 @@
rescue Mongoid::Errors::DocumentNotFound => error
raise Delayed::DeserializationError,
"Mongoid::Errors::DocumentNotFound, class: #{klass}, primary key: #{id}
(#{error.message})"
end
- when /^!ruby\/DataMapper:(.+)$/
+ when %r{^!ruby/DataMapper:(.+)$}
klass = resolve_class(Regexp.last_match[1])
payload = Hash[*object.children.map { |c| accept c }]
begin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed/worker.rb new/lib/delayed/worker.rb
--- old/lib/delayed/worker.rb 2015-09-24 23:40:11.000000000 +0200
+++ new/lib/delayed/worker.rb 2016-05-16 18:29:42.000000000 +0200
@@ -1,20 +1,22 @@
require 'timeout'
+require 'active_support/dependencies'
require 'active_support/core_ext/numeric/time'
require 'active_support/core_ext/class/attribute_accessors'
-require 'active_support/core_ext/kernel'
-require 'active_support/core_ext/enumerable'
+require 'active_support/hash_with_indifferent_access'
+require 'active_support/core_ext/hash/indifferent_access'
require 'logger'
require 'benchmark'
module Delayed
class Worker # rubocop:disable ClassLength
- DEFAULT_LOG_LEVEL = 'info'
+ DEFAULT_LOG_LEVEL = 'info'.freeze
DEFAULT_SLEEP_DELAY = 5
DEFAULT_MAX_ATTEMPTS = 25
DEFAULT_MAX_RUN_TIME = 4.hours
DEFAULT_DEFAULT_PRIORITY = 0
DEFAULT_DELAY_JOBS = true
- DEFAULT_QUEUES = []
+ DEFAULT_QUEUES = [].freeze
+ DEFAULT_QUEUE_ATTRIBUTES = HashWithIndifferentAccess.new.freeze
DEFAULT_READ_AHEAD = 5
cattr_accessor :min_priority, :max_priority, :max_attempts, :max_run_time,
@@ -25,7 +27,7 @@
# Named queue into which jobs are enqueued by default
cattr_accessor :default_queue_name
- cattr_reader :backend
+ cattr_reader :backend, :queue_attributes
# name_prefix is ignored if name is set directly
attr_accessor :name_prefix
@@ -38,12 +40,11 @@
self.default_priority = DEFAULT_DEFAULT_PRIORITY
self.delay_jobs = DEFAULT_DELAY_JOBS
self.queues = DEFAULT_QUEUES
+ self.queue_attributes = DEFAULT_QUEUE_ATTRIBUTES
self.read_ahead = DEFAULT_READ_AHEAD
@lifecycle = nil
end
- reset
-
# Add or remove plugins in this list before the worker is instantiated
self.plugins = [Delayed::Plugins::ClearLocks]
@@ -70,6 +71,11 @@
silence_warnings { ::Delayed.const_set(:Job, backend) }
end
+ # rubocop:disable ClassVars
+ def self.queue_attributes=(val)
+ @@queue_attributes = val.with_indifferent_access
+ end
+
def self.guess_backend
warn '[DEPRECATION] guess_backend is deprecated. Please remove it from
your code.'
end
@@ -170,7 +176,7 @@
end
end
- count = @result.sum
+ count = @result[0] + @result[1]
if count.zero?
if self.class.exit_on_complete
@@ -319,3 +325,5 @@
end
end
end
+
+Delayed::Worker.reset
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/delayed_job.rb new/lib/delayed_job.rb
--- old/lib/delayed_job.rb 2015-09-24 23:40:11.000000000 +0200
+++ new/lib/delayed_job.rb 2016-05-16 18:29:42.000000000 +0200
@@ -1,4 +1,3 @@
-require 'active_support'
require 'delayed/compatibility'
require 'delayed/exceptions'
require 'delayed/message_sending'
@@ -14,6 +13,7 @@
require 'delayed/plugin'
require 'delayed/plugins/clear_locks'
require 'delayed/backend/base'
+require 'delayed/backend/job_preparer'
require 'delayed/worker'
require 'delayed/deserialization_error'
require 'delayed/railtie' if defined?(Rails::Railtie)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2015-09-24 23:40:11.000000000 +0200
+++ new/metadata 2016-05-16 18:29:42.000000000 +0200
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: delayed_job
version: !ruby/object:Gem::Version
- version: 4.1.1
+ version: 4.1.2
platform: ruby
authors:
- Brandon Keepers
@@ -15,7 +15,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2015-09-24 00:00:00.000000000 Z
+date: 2016-05-16 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: activesupport
@@ -26,7 +26,7 @@
version: '3.0'
- - "<"
- !ruby/object:Gem::Version
- version: '5.0'
+ version: '5.1'
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
@@ -36,7 +36,7 @@
version: '3.0'
- - "<"
- !ruby/object:Gem::Version
- version: '5.0'
+ version: '5.1'
description: Delayed_job (or DJ) encapsulates the common pattern of
asynchronously
executing longer tasks in the background. It is a direct extraction from
Shopify
where the job table is responsible for a multitude of core tasks.
@@ -57,6 +57,7 @@
- contrib/delayed_job_rails_4_multiple.monitrc
- delayed_job.gemspec
- lib/delayed/backend/base.rb
+- lib/delayed/backend/job_preparer.rb
- lib/delayed/backend/shared_spec.rb
- lib/delayed/command.rb
- lib/delayed/compatibility.rb
@@ -118,7 +119,7 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.4.8
+rubygems_version: 2.5.1
signing_key:
specification_version: 4
summary: Database-backed asynchronous priority queue system -- Extracted from
Shopify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/delayed/command_spec.rb
new/spec/delayed/command_spec.rb
--- old/spec/delayed/command_spec.rb 2015-09-24 23:40:11.000000000 +0200
+++ new/spec/delayed/command_spec.rb 2016-05-16 18:29:42.000000000 +0200
@@ -159,8 +159,7 @@
describe 'running worker pools defined by multiple --pool arguments' do
it 'should run the correct worker processes' do
command = Delayed::Command.new(['--pool=*:1', '--pool=test_queue:4',
'--pool=mailers,misc:2'])
-
- expect(Dir).to receive(:mkdir).with('./tmp/pids').once
+ expect(FileUtils).to receive(:mkdir_p).with('./tmp/pids').once
[
['delayed_job.0', {:quiet => true, :pid_dir => './tmp/pids', :log_dir
=> './log', :queues => []}],