Hello community, here is the log from the commit of package rubygem-delayed_job for openSUSE:Factory checked in at 2019-07-22 12:20:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-delayed_job (Old) and /work/SRC/openSUSE:Factory/.rubygem-delayed_job.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-delayed_job" Mon Jul 22 12:20:39 2019 rev:16 rq:717290 version:4.1.7 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-delayed_job/rubygem-delayed_job.changes 2018-07-18 22:49:03.551931898 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-delayed_job.new.4126/rubygem-delayed_job.changes 2019-07-22 12:20:40.571659868 +0200 @@ -1,0 +2,17 @@ +Fri Jul 19 09:03:50 UTC 2019 - Stephan Kulow <co...@suse.com> + +- updated to version 4.1.7 + see installed CHANGELOG.md + + 4.1.7 - 2019-06-20 + ================= + * Fix loading Delayed::PerformableMailer when ActionMailer isn't loaded yet + + 4.1.6 - 2019-06-19 + ================= + * Properly initialize ActionMailer outside railties (#1077) + * Fix Psych load_tags support (#1093) + * Replace REMOVED with FAILED in log message (#1048) + * Misc doc updates (#1052, #1074, #1064, #1063) + +------------------------------------------------------------------- Old: ---- delayed_job-4.1.5.gem New: ---- delayed_job-4.1.7.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-delayed_job.spec ++++++ --- /var/tmp/diff_new_pack.YtTkAL/_old 2019-07-22 12:20:41.491659627 +0200 +++ /var/tmp/diff_new_pack.YtTkAL/_new 2019-07-22 12:20:41.491659627 +0200 @@ -1,7 +1,7 @@ # # spec file for package rubygem-delayed_job # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 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 @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -24,7 +24,7 @@ # Name: rubygem-delayed_job -Version: 4.1.5 +Version: 4.1.7 Release: 0 %define mod_name delayed_job %define mod_full_name %{mod_name}-%{version} ++++++ delayed_job-4.1.5.gem -> delayed_job-4.1.7.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md --- old/CHANGELOG.md 2018-04-13 16:27:28.000000000 +0200 +++ new/CHANGELOG.md 2019-06-20 19:23:23.000000000 +0200 @@ -1,3 +1,14 @@ +4.1.7 - 2019-06-20 +================= +* Fix loading Delayed::PerformableMailer when ActionMailer isn't loaded yet + +4.1.6 - 2019-06-19 +================= +* Properly initialize ActionMailer outside railties (#1077) +* Fix Psych load_tags support (#1093) +* Replace REMOVED with FAILED in log message (#1048) +* Misc doc updates (#1052, #1074, #1064, #1063) + 4.1.5 - 2018-04-13 ================= * Allow Rails 5.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2018-04-13 16:27:28.000000000 +0200 +++ new/README.md 2019-06-20 19:23:23.000000000 +0200 @@ -1,19 +1,17 @@ **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.1.5).](https://github.com/collectiveidea/delayed_job/tree/v4.1.5)** +(4.1.7).](https://github.com/collectiveidea/delayed_job/tree/v4.1.7)** Delayed::Job ============ -[![Gem Version](https://badge.fury.io/rb/delayed_job.png)][gem] -[![Build Status](https://travis-ci.org/collectiveidea/delayed_job.png?branch=master)][travis] -[![Dependency Status](https://gemnasium.com/collectiveidea/delayed_job.png?travis)][gemnasium] -[![Code Climate](https://codeclimate.com/github/collectiveidea/delayed_job.png)][codeclimate] -[![Coverage Status](https://coveralls.io/repos/collectiveidea/delayed_job/badge.png?branch=master)][coveralls] +[![Gem Version](https://badge.fury.io/rb/delayed_job.svg)][gem] +[![Build Status](https://travis-ci.org/collectiveidea/delayed_job.svg?branch=master)][travis] +[![Code Climate](https://codeclimate.com/github/collectiveidea/delayed_job.svg)][codeclimate] +[![Coverage Status](https://coveralls.io/repos/collectiveidea/delayed_job/badge.svg?branch=master)][coveralls] [gem]: https://rubygems.org/gems/delayed_job [travis]: https://travis-ci.org/collectiveidea/delayed_job -[gemnasium]: https://gemnasium.com/collectiveidea/delayed_job [codeclimate]: https://codeclimate.com/github/collectiveidea/delayed_job [coveralls]: https://coveralls.io/r/collectiveidea/delayed_job @@ -62,16 +60,16 @@ rails generate delayed_job:active_record rake db:migrate -For Rails 4.2, see [below](#rails-42) +For Rails 4.2+, see [below](#active-job) Development =========== In development mode, if you are using Rails 3.1+, your application code will automatically reload every 100 jobs or when the queue finishes. You no longer need to restart Delayed Job every time you update your code in development. -Rails 4.2 -========= -Set the queue_adapter in config/application.rb +Active Job +========== +In Rails 4.2+, set the queue_adapter in config/application.rb ```ruby config.active_job.queue_adapter = :delayed_job @@ -377,6 +375,9 @@ ===== You can define hooks on your job that will be called at different stages in the process: + +**NOTE:** If you are using ActiveJob these hooks are **not** available to your jobs. You will need to use ActiveJob's callbacks. You can find details here https://guides.rubyonrails.org/active_job_basics.html#callbacks + ```ruby class ParanoidNewsletterJob < NewsletterJob def enqueue(job) @@ -430,7 +431,7 @@ On error, the job is scheduled again in 5 seconds + N ** 4, where N is the number of attempts or using the job's defined `reschedule_at` method. -The default `Worker.max_attempts` is 25. After this, the job either deleted (default), or left in the database with "failed_at" set. +The default `Worker.max_attempts` is 25. After this, the job is either deleted (default), or left in the database with "failed_at" set. With the default of 25 attempts, the last retry will be 20 days later, with the last interval being almost 100 hours. The default `Worker.max_run_time` is 4.hours. If your job takes longer than that, another computer could pick it up. It's up to you to Binary 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 2018-04-13 16:27:28.000000000 +0200 +++ new/delayed_job.gemspec 2019-06-20 19:23:23.000000000 +0200 @@ -13,5 +13,5 @@ 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.5' + spec.version = '4.1.7' 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 2018-04-13 16:27:28.000000000 +0200 +++ new/lib/delayed/psych_ext.rb 2019-06-20 19:23:23.000000000 +0200 @@ -28,7 +28,13 @@ end def visit_Psych_Nodes_Mapping(object) # rubocop:disable CyclomaticComplexity, MethodName, PerceivedComplexity - return revive(Psych.load_tags[object.tag], object) if Psych.load_tags[object.tag] + klass = Psych.load_tags[object.tag] + if klass + # Implementation changed here https://github.com/ruby/psych/commit/2c644e184192975b261a81f486a04defa3172b3f + # load_tags used to have class values, now the values are strings + klass = resolve_class(klass) if klass.is_a?(String) + return revive(klass, object) + end case object.tag when %r{^!ruby/object} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/railtie.rb new/lib/delayed/railtie.rb --- old/lib/delayed/railtie.rb 2018-04-13 16:27:28.000000000 +0200 +++ new/lib/delayed/railtie.rb 2019-06-20 19:23:23.000000000 +0200 @@ -4,10 +4,6 @@ module Delayed class Railtie < Rails::Railtie initializer :after_initialize do - ActiveSupport.on_load(:action_mailer) do - ActionMailer::Base.extend(Delayed::DelayMail) - end - Delayed::Worker.logger ||= if defined?(Rails) Rails.logger elsif defined?(RAILS_DEFAULT_LOGGER) 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 2018-04-13 16:27:28.000000000 +0200 +++ new/lib/delayed/worker.rb 2019-06-20 19:23:23.000000000 +0200 @@ -251,7 +251,7 @@ job.unlock job.save! else - job_say job, "REMOVED permanently because of #{job.attempts} consecutive failures", 'error' + job_say job, "FAILED permanently because of #{job.attempts} consecutive failures", 'error' failed(job) end end 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 2018-04-13 16:27:28.000000000 +0200 +++ new/lib/delayed_job.rb 2019-06-20 19:23:23.000000000 +0200 @@ -3,12 +3,6 @@ require 'delayed/exceptions' require 'delayed/message_sending' require 'delayed/performable_method' - -if defined?(ActionMailer) - require 'action_mailer/version' - require 'delayed/performable_mailer' -end - require 'delayed/yaml_ext' require 'delayed/lifecycle' require 'delayed/plugin' @@ -19,5 +13,14 @@ require 'delayed/deserialization_error' require 'delayed/railtie' if defined?(Rails::Railtie) +ActiveSupport.on_load(:action_mailer) do + require 'delayed/performable_mailer' + ActionMailer::Base.extend(Delayed::DelayMail) +end + +module Delayed + autoload :PerformableMailer, 'delayed/performable_mailer' +end + Object.send(:include, Delayed::MessageSending) Module.send(:include, Delayed::MessageSendingClassMethods) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2018-04-13 16:27:28.000000000 +0200 +++ new/metadata 2019-06-20 19:23:23.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: delayed_job version: !ruby/object:Gem::Version - version: 4.1.5 + version: 4.1.7 platform: ruby authors: - Brandon Keepers @@ -15,7 +15,7 @@ autorequire: bindir: bin cert_chain: [] -date: 2018-04-13 00:00:00.000000000 Z +date: 2019-06-20 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: activesupport @@ -118,8 +118,7 @@ - !ruby/object:Gem::Version version: '0' requirements: [] -rubyforge_project: -rubygems_version: 2.7.6 +rubygems_version: 3.0.3 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/helper.rb new/spec/helper.rb --- old/spec/helper.rb 2018-04-13 16:27:28.000000000 +0200 +++ new/spec/helper.rb 2019-06-20 19:23:23.000000000 +0200 @@ -14,7 +14,6 @@ require 'rspec' require 'action_mailer' -require 'active_support/dependencies' require 'active_record' require 'delayed_job' @@ -45,9 +44,6 @@ # Add this directory so the ActiveSupport autoloading works ActiveSupport::Dependencies.autoload_paths << File.dirname(__FILE__) -# Add this to simulate Railtie initializer being executed -ActionMailer::Base.extend(Delayed::DelayMail) - # Used to test interactions between DJ and an ORM ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => ':memory:' ActiveRecord::Base.logger = Delayed::Worker.logger diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/performable_mailer_spec.rb new/spec/performable_mailer_spec.rb --- old/spec/performable_mailer_spec.rb 2018-04-13 16:27:28.000000000 +0200 +++ new/spec/performable_mailer_spec.rb 2019-06-20 19:23:23.000000000 +0200 @@ -1,6 +1,5 @@ require 'helper' -require 'action_mailer' class MyMailer < ActionMailer::Base def signup(email) mail :to => email, :subject => 'Delaying Emails', :from => 'delayed...@example.com', :body => 'Delaying Emails Body' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/psych_ext_spec.rb new/spec/psych_ext_spec.rb --- old/spec/psych_ext_spec.rb 2018-04-13 16:27:28.000000000 +0200 +++ new/spec/psych_ext_spec.rb 2019-06-20 19:23:23.000000000 +0200 @@ -3,10 +3,32 @@ describe 'Psych::Visitors::ToRuby', :if => defined?(Psych::Visitors::ToRuby) do context BigDecimal do it 'deserializes correctly' do - deserialized = YAML.load("--- !ruby/object:BigDecimal 18:0.1337E2\n...\n") + deserialized = YAML.load_dj("--- !ruby/object:BigDecimal 18:0.1337E2\n...\n") expect(deserialized).to be_an_instance_of(BigDecimal) expect(deserialized).to eq(BigDecimal('13.37')) end end + + context 'load_tag handling' do + # This only broadly works in ruby 2.0 but will cleanly work through load_dj + # here because this class is so simple it only touches our extention + YAML.load_tags['!ruby/object:RenamedClass'] = SimpleJob + # This is how ruby 2.1 and newer works throughout the yaml handling + YAML.load_tags['!ruby/object:RenamedString'] = 'SimpleJob' + + it 'deserializes class tag' do + deserialized = YAML.load_dj("--- !ruby/object:RenamedClass\ncheck: 12\n") + + expect(deserialized).to be_an_instance_of(SimpleJob) + expect(deserialized.instance_variable_get(:@check)).to eq(12) + end + + it 'deserializes string tag' do + deserialized = YAML.load_dj("--- !ruby/object:RenamedString\ncheck: 12\n") + + expect(deserialized).to be_an_instance_of(SimpleJob) + expect(deserialized.instance_variable_get(:@check)).to eq(12) + end + end end