Hello community, here is the log from the commit of package perl-Minion for openSUSE:Factory checked in at 2017-03-16 09:43:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Minion (Old) and /work/SRC/openSUSE:Factory/.perl-Minion.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Minion" Thu Mar 16 09:43:03 2017 rev:22 rq:479455 version:6.03 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Minion/perl-Minion.changes 2017-01-10 10:46:02.337732625 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Minion.new/perl-Minion.changes 2017-03-16 09:51:47.915552382 +0100 @@ -1,0 +2,9 @@ +Wed Mar 15 07:16:17 UTC 2017 - co...@suse.com + +- updated to 6.03 + see /usr/share/doc/packages/perl-Minion/Changes + + 6.03 2017-03-14 + - Fixed serious performance problems in Minion::Backend::Pg. + +------------------------------------------------------------------- Old: ---- Minion-6.02.tar.gz New: ---- Minion-6.03.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Minion.spec ++++++ --- /var/tmp/diff_new_pack.2eL2pi/_old 2017-03-16 09:51:48.883415314 +0100 +++ /var/tmp/diff_new_pack.2eL2pi/_new 2017-03-16 09:51:48.887414748 +0100 @@ -17,14 +17,14 @@ Name: perl-Minion -Version: 6.02 +Version: 6.03 Release: 0 %define cpan_name Minion Summary: Job queue License: Artistic-2.0 Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/Minion/ -Source0: http://www.cpan.org/authors/id/S/SR/SRI/%{cpan_name}-%{version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/S/SR/SRI/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -117,6 +117,7 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc Changes examples LICENSE README.md +%doc Changes examples README.md +%license LICENSE %changelog ++++++ Minion-6.02.tar.gz -> Minion-6.03.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/Changes new/Minion-6.03/Changes --- old/Minion-6.02/Changes 2017-01-01 16:44:16.000000000 +0100 +++ new/Minion-6.03/Changes 2017-03-14 18:03:18.000000000 +0100 @@ -1,4 +1,7 @@ +6.03 2017-03-14 + - Fixed serious performance problems in Minion::Backend::Pg. + 6.02 2017-01-02 - Updated Mojo::Pg requirement to 2.18. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/META.json new/Minion-6.03/META.json --- old/Minion-6.02/META.json 2017-01-01 16:48:05.000000000 +0100 +++ new/Minion-6.03/META.json 2017-03-15 00:24:36.000000000 +0100 @@ -54,6 +54,6 @@ }, "x_IRC" : "irc://irc.perl.org/#mojo" }, - "version" : "6.02", + "version" : "6.03", "x_serialization_backend" : "JSON::PP version 2.27400" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/META.yml new/Minion-6.03/META.yml --- old/Minion-6.02/META.yml 2017-01-01 16:48:05.000000000 +0100 +++ new/Minion-6.03/META.yml 2017-03-15 00:24:36.000000000 +0100 @@ -27,5 +27,5 @@ homepage: http://mojolicious.org license: http://www.opensource.org/licenses/artistic-license-2.0 repository: https://github.com/kraih/minion.git -version: '6.02' +version: '6.03' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/README.md new/Minion-6.03/README.md --- old/Minion-6.02/README.md 2016-06-24 08:49:50.000000000 +0200 +++ new/Minion-6.03/README.md 2017-02-14 20:38:10.000000000 +0100 @@ -50,4 +50,5 @@ ## Want to know more? - Take a look at our excellent [documentation](http://mojolicious.org/perldoc>)! + Take a look at our excellent + [documentation](http://mojolicious.org/perldoc/Minion>)! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/lib/Minion/Backend/Pg.pm new/Minion-6.03/lib/Minion/Backend/Pg.pm --- old/Minion-6.02/lib/Minion/Backend/Pg.pm 2017-01-01 16:44:11.000000000 +0100 +++ new/Minion-6.03/lib/Minion/Backend/Pg.pm 2017-03-14 18:01:22.000000000 +0100 @@ -52,8 +52,7 @@ sub job_info { shift->pg->db->query( 'select id, args, attempts, - array(select id from minion_jobs where parents @> ARRAY[j.id]) - as children, + array(select id from minion_jobs where j.id = any(parents)) as children, extract(epoch from created) as created, extract(epoch from delayed) as delayed, extract(epoch from finished) as finished, parents, priority, queue, @@ -107,7 +106,7 @@ sub register_worker { my ($self, $id) = @_; - return shift->pg->db->query( + return $self->pg->db->query( "insert into minion_workers (id, host, pid) values (coalesce(?, nextval('minion_workers_id_seq')), ?, ?) on conflict(id) do update set notified = now() @@ -148,7 +147,7 @@ set finished = now(), result = to_json('Parent went away'::text), state = 'failed' where parents <> '{}' and cardinality(parents) <> ( - select count(*) from minion_jobs where j.parents @> ARRAY[id] + select count(*) from minion_jobs where id = any (j.parents) ) and state = 'inactive'" ); @@ -157,7 +156,7 @@ "delete from minion_jobs as j where finished <= now() - interval '1 second' * ? and not exists ( select 1 from minion_jobs - where parents @> ARRAY[j.id] and state <> 'finished' + where j.id = any(parents) and state <> 'finished' ) and state = 'finished'", $minion->remove_after ); } @@ -229,7 +228,7 @@ select id from minion_jobs as j where delayed <= now() and (parents = '{}' or cardinality(parents) = ( select count(*) from minion_jobs - where j.parents @> ARRAY[id] and state = 'finished' + where id = any(j.parents) and state = 'finished' )) and queue = any(?) and state = 'inactive' and task = any(?) order by priority desc, id limit 1 @@ -376,7 +375,7 @@ delay => 10 -Delay job for this many seconds (from now). +Delay job for this many seconds (from now), defaults to C<0>. =item parents @@ -623,7 +622,7 @@ delay => 10 -Delay job for this many seconds (from now). +Delay job for this many seconds (from now), defaults to C<0>. =item priority @@ -852,3 +851,6 @@ -- 13 up create index on minion_jobs using gin (parents); + +-- 14 up +drop index minion_jobs_parents_idx; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/lib/Minion/Backend.pm new/Minion-6.03/lib/Minion/Backend.pm --- old/Minion-6.02/lib/Minion/Backend.pm 2016-09-26 15:49:47.000000000 +0200 +++ new/Minion-6.03/lib/Minion/Backend.pm 2017-02-14 20:37:29.000000000 +0100 @@ -165,7 +165,7 @@ delay => 10 -Delay job for this many seconds (from now). +Delay job for this many seconds (from now), defaults to C<0>. =item parents @@ -414,7 +414,7 @@ delay => 10 -Delay job for this many seconds (from now). +Delay job for this many seconds (from now), defaults to C<0>. =item priority diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/lib/Minion/Command/minion/worker.pm new/Minion-6.03/lib/Minion/Command/minion/worker.pm --- old/Minion-6.02/lib/Minion/Command/minion/worker.pm 2016-09-19 16:59:12.000000000 +0200 +++ new/Minion-6.03/lib/Minion/Command/minion/worker.pm 2017-02-14 22:17:33.000000000 +0100 @@ -99,8 +99,9 @@ application, defaults to the value of MOJO_HOME or auto-detection -I, --heartbeat-interval <seconds> Heartbeat interval, defaults to 60 - -j, --jobs <number> Number of jobs to perform - concurrently, defaults to 4 + -j, --jobs <number> Maximum number of jobs to perform + parallel in forked worker processes, + defaults to 4 -m, --mode <name> Operating mode for your application, defaults to the value of MOJO_MODE/PLACK_ENV or "development" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/lib/Minion/Job.pm new/Minion-6.03/lib/Minion/Job.pm --- old/Minion-6.02/lib/Minion/Job.pm 2016-09-17 11:20:24.000000000 +0200 +++ new/Minion-6.03/lib/Minion/Job.pm 2017-02-14 20:37:50.000000000 +0100 @@ -375,7 +375,7 @@ delay => 10 -Delay job for this many seconds (from now). +Delay job for this many seconds (from now), defaults to C<0>. =item priority diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/lib/Minion.pm new/Minion-6.03/lib/Minion.pm --- old/Minion-6.02/lib/Minion.pm 2017-01-01 16:22:32.000000000 +0100 +++ new/Minion-6.03/lib/Minion.pm 2017-03-14 18:01:28.000000000 +0100 @@ -16,7 +16,7 @@ has remove_after => 172800; has tasks => sub { {} }; -our $VERSION = '6.02'; +our $VERSION = '6.03'; sub add_task { ($_[0]->tasks->{$_[1]} = $_[2]) and return $_[0] } @@ -351,7 +351,7 @@ delay => 10 -Delay job for this many seconds (from now). +Delay job for this many seconds (from now), defaults to C<0>. =item parents diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-6.02/t/pg.t new/Minion-6.03/t/pg.t --- old/Minion-6.02/t/pg.t 2017-01-01 16:45:49.000000000 +0100 +++ new/Minion-6.03/t/pg.t 2017-03-14 18:03:45.000000000 +0100 @@ -24,11 +24,11 @@ isa_ok $worker->minion->app, 'Mojolicious', 'has default application'; # Migrate up and down -is $minion->backend->pg->migrations->active, 13, 'active version is 13'; +is $minion->backend->pg->migrations->active, 14, 'active version is 14'; is $minion->backend->pg->migrations->migrate(0)->active, 0, 'active version is 0'; -is $minion->backend->pg->migrations->migrate->active, 13, - 'active version is 13'; +is $minion->backend->pg->migrations->migrate->active, 14, + 'active version is 14'; # Register and unregister $worker->register;