Hello community, here is the log from the commit of package rubygem-delayed_job_active_record for openSUSE:Factory checked in at 2016-06-12 18:54:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-delayed_job_active_record (Old) and /work/SRC/openSUSE:Factory/.rubygem-delayed_job_active_record.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-delayed_job_active_record" Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-delayed_job_active_record/rubygem-delayed_job_active_record.changes 2015-12-01 09:18:48.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-delayed_job_active_record.new/rubygem-delayed_job_active_record.changes 2016-06-12 18:54:26.000000000 +0200 @@ -1,0 +2,6 @@ +Tue May 17 04:35:23 UTC 2016 - co...@suse.com + +- updated to version 4.1.1 + no changelog found + +------------------------------------------------------------------- Old: ---- delayed_job_active_record-4.1.0.gem New: ---- delayed_job_active_record-4.1.1.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-delayed_job_active_record.spec ++++++ --- /var/tmp/diff_new_pack.rtV1RA/_old 2016-06-12 18:54:27.000000000 +0200 +++ /var/tmp/diff_new_pack.rtV1RA/_new 2016-06-12 18:54:27.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package rubygem-delayed_job_active_record # -# 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_active_record -Version: 4.1.0 +Version: 4.1.1 Release: 0 %define mod_name delayed_job_active_record %define mod_full_name %{mod_name}-%{version} ++++++ delayed_job_active_record-4.1.0.gem -> delayed_job_active_record-4.1.1.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2015-09-25 00:58:51.000000000 +0200 +++ new/README.md 2016-05-16 18:38:25.000000000 +0200 @@ -1,3 +1,8 @@ +**If you're viewing this at https://github.com/collectiveidea/delayed_job_active_record, +you're reading the documentation for the master branch. +[View documentation for the latest release +(4.1.0).](https://github.com/collectiveidea/delayed_job_active_record/tree/v4.1.0)** + # DelayedJob ActiveRecord Backend [![Gem Version](https://badge.fury.io/rb/delayed_job_active_record.png)](https://rubygems.org/gems/delayed_job_active_record) @@ -20,6 +25,12 @@ rails g delayed_job:active_record rake db:migrate +## Problems locking jobs + +You can try using the legacy locking code. It is usually slower but works better for certain people. + + Delayed::Backend::ActiveRecord.configuration.reserve_sql_strategy = :default_sql + ## Upgrading from 2.x to 3.0.0 If you're upgrading from Delayed Job 2.x, run the upgrade generator to create a Files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/delayed_job_active_record.gemspec new/delayed_job_active_record.gemspec --- old/delayed_job_active_record.gemspec 2015-09-25 00:58:51.000000000 +0200 +++ new/delayed_job_active_record.gemspec 2016-05-16 18:38:25.000000000 +0200 @@ -1,5 +1,5 @@ Gem::Specification.new do |spec| - spec.add_dependency "activerecord", [">= 3.0", "< 5"] + spec.add_dependency "activerecord", [">= 3.0", "< 5.1"] spec.add_dependency "delayed_job", [">= 3.0", "< 5"] spec.authors = ["Brian Ryckbost", "Matt Griffin", "Erik Michaels-Ober"] spec.description = "ActiveRecord backend for Delayed::Job, originally authored by Tobias Lütke" @@ -10,5 +10,5 @@ spec.name = "delayed_job_active_record" spec.require_paths = ["lib"] spec.summary = "ActiveRecord backend for DelayedJob" - spec.version = "4.1.0" + spec.version = "4.1.1" end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/backend/active_record.rb new/lib/delayed/backend/active_record.rb --- old/lib/delayed/backend/active_record.rb 2015-09-25 00:58:51.000000000 +0200 +++ new/lib/delayed/backend/active_record.rb 2016-05-16 18:38:25.000000000 +0200 @@ -2,6 +2,27 @@ module Delayed module Backend module ActiveRecord + class Configuration + attr_reader :reserve_sql_strategy + + def initialize + self.reserve_sql_strategy = :optimized_sql + end + + def reserve_sql_strategy=(val) + raise ArgumentError, "allowed values are :optimized_sql or :default_sql" unless val == :optimized_sql || val == :default_sql + @reserve_sql_strategy = val + end + end + + def self.configuration + @configuration ||= Configuration.new + end + + def self.configure + yield(configuration) + end + # A job object that is persisted to the database. # Contains the work object as a YAML field. class Job < ::ActiveRecord::Base @@ -54,7 +75,18 @@ end def self.reserve_with_scope(ready_scope, worker, now) + case Delayed::Backend::ActiveRecord.configuration.reserve_sql_strategy # Optimizations for faster lookups on some common databases + when :optimized_sql + reserve_with_scope_using_optimized_sql(ready_scope, worker, now) + # Slower but in some cases more unproblematic strategy to lookup records + # See https://github.com/collectiveidea/delayed_job_active_record/pull/89 for more details. + when :default_sql + reserve_with_scope_using_default_sql(ready_scope, worker, now) + end + end + + def self.reserve_with_scope_using_optimized_sql(ready_scope, worker, now) case connection.adapter_name when "PostgreSQL" # Custom SQL required for PostgreSQL because postgres does not support UPDATE...LIMIT @@ -91,6 +123,7 @@ return nil if count == 0 # MSSQL JDBC doesn't support OUTPUT INSERTED.* for returning a result set, so query locked row where(locked_at: now, locked_by: worker.name, failed_at: nil).first + # Fallback for unknown / other DBMS else reserve_with_scope_using_default_sql(ready_scope, worker, now) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2015-09-25 00:58:51.000000000 +0200 +++ new/metadata 2016-05-16 18:38:25.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: delayed_job_active_record version: !ruby/object:Gem::Version - version: 4.1.0 + version: 4.1.1 platform: ruby authors: - Brian Ryckbost @@ -10,7 +10,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: activerecord @@ -21,7 +21,7 @@ version: '3.0' - - "<" - !ruby/object:Gem::Version - version: '5' + version: '5.1' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement @@ -31,7 +31,7 @@ version: '3.0' - - "<" - !ruby/object:Gem::Version - version: '5' + version: '5.1' - !ruby/object:Gem::Dependency name: delayed_job requirement: !ruby/object:Gem::Requirement @@ -93,7 +93,7 @@ version: '0' requirements: [] rubyforge_project: -rubygems_version: 2.4.8 +rubygems_version: 2.5.1 signing_key: specification_version: 4 summary: ActiveRecord backend for DelayedJob