Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Minion for openSUSE:Factory checked in at 2023-12-09 22:54:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Minion (Old) and /work/SRC/openSUSE:Factory/.perl-Minion.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Minion" Sat Dec 9 22:54:04 2023 rev:74 rq:1132233 version:10.280.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Minion/perl-Minion.changes 2023-11-16 20:31:39.527220985 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Minion.new.25432/perl-Minion.changes 2023-12-09 22:57:46.197561754 +0100 @@ -1,0 +2,12 @@ +Wed Nov 29 03:07:48 UTC 2023 - Tina Müller <[email protected]> + +- updated to 10.28 + see /usr/share/doc/packages/perl-Minion/Changes + + 10.28 2023-11-217 + - Improved repair and history performance in most cases. + + 10.27 2023-11-20 + - Improved repair performance in cases where there are a lot of finished jobs with dependencies. + +------------------------------------------------------------------- Old: ---- Minion-10.26.tar.gz New: ---- Minion-10.28.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Minion.spec ++++++ --- /var/tmp/diff_new_pack.6zEffJ/_old 2023-12-09 22:57:46.665578929 +0100 +++ /var/tmp/diff_new_pack.6zEffJ/_new 2023-12-09 22:57:46.665578929 +0100 @@ -18,9 +18,9 @@ %define cpan_name Minion Name: perl-Minion -Version: 10.260.0 +Version: 10.280.0 Release: 0 -%define cpan_version 10.26 +%define cpan_version 10.28 License: Artistic-2.0 Summary: Job queue URL: https://metacpan.org/release/%{cpan_name} @@ -33,7 +33,7 @@ BuildRequires: perl(YAML::XS) >= 0.67 Requires: perl(Mojolicious) >= 9.0 Requires: perl(YAML::XS) >= 0.67 -Provides: perl(Minion) = 10.260.0 +Provides: perl(Minion) = %{version} Provides: perl(Minion::Backend) Provides: perl(Minion::Backend::Pg) Provides: perl(Minion::Command::minion) ++++++ Minion-10.26.tar.gz -> Minion-10.28.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/Changes new/Minion-10.28/Changes --- old/Minion-10.26/Changes 2023-11-10 15:50:50.000000000 +0100 +++ new/Minion-10.28/Changes 2023-11-27 19:41:07.000000000 +0100 @@ -1,4 +1,10 @@ +10.28 2023-11-217 + - Improved repair and history performance in most cases. + +10.27 2023-11-20 + - Improved repair performance in cases where there are a lot of finished jobs with dependencies. + 10.26 2023-11-10 - Added type information to worker status. - Improved workers by calling srand() after starting a new job process. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/META.json new/Minion-10.28/META.json --- old/Minion-10.26/META.json 2023-11-10 15:53:06.000000000 +0100 +++ new/Minion-10.28/META.json 2023-11-28 12:05:02.000000000 +0100 @@ -58,6 +58,6 @@ "web" : "https://web.libera.chat/#mojo" } }, - "version" : "10.26", + "version" : "10.28", "x_serialization_backend" : "JSON::PP version 4.07" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/META.yml new/Minion-10.28/META.yml --- old/Minion-10.26/META.yml 2023-11-10 15:53:06.000000000 +0100 +++ new/Minion-10.28/META.yml 2023-11-28 12:05:02.000000000 +0100 @@ -30,5 +30,5 @@ homepage: https://mojolicious.org license: http://www.opensource.org/licenses/artistic-license-2.0 repository: https://github.com/mojolicious/minion.git -version: '10.26' +version: '10.28' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/lib/Minion/Backend/Pg.pm new/Minion-10.28/lib/Minion/Backend/Pg.pm --- old/Minion-10.26/lib/Minion/Backend/Pg.pm 2022-07-21 01:39:53.000000000 +0200 +++ new/Minion-10.28/lib/Minion/Backend/Pg.pm 2023-11-27 17:49:09.000000000 +0100 @@ -178,16 +178,12 @@ my $minion = $self->minion; $db->query("DELETE FROM minion_workers WHERE notified < NOW() - INTERVAL '1 second' * ?", $minion->missing_after); - # Old jobs with no unresolved dependencies and expired jobs - $db->query( - "DELETE FROM minion_jobs WHERE id IN ( - SELECT j.id FROM minion_jobs AS j LEFT JOIN minion_jobs AS children - ON children.state != 'finished' AND ARRAY_LENGTH(children.parents, 1) > 0 AND j.id = ANY(children.parents) - WHERE j.state = 'finished' AND j.finished <= NOW() - INTERVAL '1 second' * ? AND children.id IS NULL - UNION ALL - SELECT id FROM minion_jobs WHERE state = 'inactive' AND expires <= NOW() - )", $minion->remove_after - ); + # Old jobs + $db->query("DELETE FROM minion_jobs WHERE state = 'finished' AND finished <= NOW() - INTERVAL '1 second' * ?", + $minion->remove_after); + + # Expired jobs + $db->query("DELETE FROM minion_jobs WHERE state = 'inactive' AND expires <= NOW()"); # Jobs with missing worker (can be retried) $db->query( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/lib/Minion/Backend/resources/migrations/pg.sql new/Minion-10.28/lib/Minion/Backend/resources/migrations/pg.sql --- old/Minion-10.26/lib/Minion/Backend/resources/migrations/pg.sql 2022-02-23 18:51:44.000000000 +0100 +++ new/Minion-10.28/lib/Minion/Backend/resources/migrations/pg.sql 2023-11-27 19:37:00.000000000 +0100 @@ -92,3 +92,6 @@ -- 23 up ALTER TABLE minion_jobs ADD COLUMN lax BOOL NOT NULL DEFAULT FALSE; + +-- 24 up +CREATE INDEX ON minion_jobs (finished, state); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/lib/Minion.pm new/Minion-10.28/lib/Minion.pm --- old/Minion-10.26/lib/Minion.pm 2023-02-04 01:47:41.000000000 +0100 +++ new/Minion-10.28/lib/Minion.pm 2023-11-20 15:55:38.000000000 +0100 @@ -21,7 +21,7 @@ has [qw(remove_after stuck_after)] => 172800; has tasks => sub { {} }; -our $VERSION = '10.26'; +our $VERSION = '10.28'; sub add_task { my ($self, $name, $task) = @_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Minion-10.26/t/pg.t new/Minion-10.28/t/pg.t --- old/Minion-10.26/t/pg.t 2022-07-21 01:39:54.000000000 +0200 +++ new/Minion-10.28/t/pg.t 2023-11-27 19:37:28.000000000 +0100 @@ -29,9 +29,9 @@ }; subtest 'Migrate up and down' => sub { - is $minion->backend->pg->migrations->active, 23, 'active version is 23'; + is $minion->backend->pg->migrations->active, 24, 'active version is 24'; is $minion->backend->pg->migrations->migrate(0)->active, 0, 'active version is 0'; - is $minion->backend->pg->migrations->migrate->active, 23, 'active version is 23'; + is $minion->backend->pg->migrations->migrate->active, 24, 'active version is 24'; }; subtest 'Register and unregister' => sub { @@ -1116,9 +1116,9 @@ is_deeply $job->info->{children}, [], 'right children'; is_deeply $job->info->{parents}, [$id, $id2], 'right parents'; is $minion->stats->{finished_jobs}, 2, 'two finished jobs'; - is $minion->repair->stats->{finished_jobs}, 2, 'two finished jobs'; + is $minion->repair->stats->{finished_jobs}, 0, 'no finished jobs'; ok $job->finish, 'job finished'; - is $minion->stats->{finished_jobs}, 3, 'three finished jobs'; + is $minion->stats->{finished_jobs}, 1, 'one finished job'; is $minion->repair->remove_after(172800)->stats->{finished_jobs}, 0, 'no finished jobs'; $id = $minion->enqueue(test => [] => {parents => [-1]}); ok $job = $worker->dequeue(0), 'job dequeued';
