Hello community,

here is the log from the commit of package perl-Minion for openSUSE:Factory 
checked in at 2017-10-13 14:20:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Minion (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Minion.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Minion"

Fri Oct 13 14:20:41 2017 rev:31 rq:533850 version:7.07

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Minion/perl-Minion.changes  2017-09-23 
21:36:12.413612068 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Minion.new/perl-Minion.changes     
2017-10-13 14:21:04.203084554 +0200
@@ -1,0 +2,9 @@
+Fri Oct 13 05:32:44 UTC 2017 - [email protected]
+
+- updated to 7.07
+   see /usr/share/doc/packages/perl-Minion/Changes
+
+  7.07  2017-10-11
+    - Added reap event to Minion::Job.
+
+-------------------------------------------------------------------

Old:
----
  Minion-7.06.tar.gz

New:
----
  Minion-7.07.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Minion.spec ++++++
--- /var/tmp/diff_new_pack.4liMe7/_old  2017-10-13 14:21:04.811057824 +0200
+++ /var/tmp/diff_new_pack.4liMe7/_new  2017-10-13 14:21:04.811057824 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Minion
-Version:        7.06
+Version:        7.07
 Release:        0
 %define cpan_name Minion
 Summary:        Job queue

++++++ Minion-7.06.tar.gz -> Minion-7.07.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-7.06/Changes new/Minion-7.07/Changes
--- old/Minion-7.06/Changes     2017-09-21 11:19:39.000000000 +0200
+++ new/Minion-7.07/Changes     2017-10-11 23:18:29.000000000 +0200
@@ -1,4 +1,7 @@
 
+7.07  2017-10-11
+  - Added reap event to Minion::Job.
+
 7.06  2017-09-21
   - Added guard method to Minion.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-7.06/META.json new/Minion-7.07/META.json
--- old/Minion-7.06/META.json   2017-09-21 19:46:25.000000000 +0200
+++ new/Minion-7.07/META.json   2017-10-12 10:28:11.000000000 +0200
@@ -54,6 +54,6 @@
       },
       "x_IRC" : "irc://irc.perl.org/#mojo"
    },
-   "version" : "7.06",
+   "version" : "7.07",
    "x_serialization_backend" : "JSON::PP version 2.94"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-7.06/META.yml new/Minion-7.07/META.yml
--- old/Minion-7.06/META.yml    2017-09-21 19:46:25.000000000 +0200
+++ new/Minion-7.07/META.yml    2017-10-12 10:28:11.000000000 +0200
@@ -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: '7.06'
+version: '7.07'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-7.06/lib/Minion/Job.pm 
new/Minion-7.07/lib/Minion/Job.pm
--- old/Minion-7.06/lib/Minion/Job.pm   2017-08-07 17:37:20.000000000 +0200
+++ new/Minion-7.07/lib/Minion/Job.pm   2017-10-12 10:27:52.000000000 +0200
@@ -26,7 +26,7 @@
 sub is_finished {
   my $self = shift;
   return undef unless waitpid($self->{pid}, WNOHANG) == $self->{pid};
-  $? ? $self->fail("Non-zero exit status (@{[$? >> 8]})") : $self->finish;
+  $self->_handle;
   return 1;
 }
 
@@ -35,7 +35,7 @@
 sub perform {
   my $self = shift;
   waitpid $self->start->pid, 0;
-  $? ? $self->fail("Non-zero exit status (@{[$? >> 8]})") : $self->finish;
+  $self->_handle;
 }
 
 sub pid { shift->{pid} }
@@ -61,6 +61,12 @@
 
 sub stop { kill 'KILL', shift->{pid} }
 
+sub _handle {
+  my $self = shift;
+  $self->emit(reap => $self->{pid});
+  $? ? $self->fail("Non-zero exit status (@{[$? >> 8]})") : $self->finish;
+}
+
 sub _run {
   my $self = shift;
 
@@ -130,6 +136,22 @@
     say "Job $id is finished.";
   });
 
+=head2 reap
+
+  $job->on(reap => sub {
+    my ($job, $pid) = @_;
+    ...
+  });
+
+Emitted in the worker process managing this job, after the process performing 
it
+has exited.
+
+  $job->on(reap => sub {
+    my ($job, $pid) = @_;
+    my $id = $job->id;
+    say "Job $id ran in process $pid";
+  });
+
 =head2 spawn
 
   $job->on(spawn => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-7.06/lib/Minion.pm 
new/Minion-7.07/lib/Minion.pm
--- old/Minion-7.06/lib/Minion.pm       2017-09-21 11:19:16.000000000 +0200
+++ new/Minion-7.07/lib/Minion.pm       2017-09-21 19:46:51.000000000 +0200
@@ -16,7 +16,7 @@
 has remove_after  => 172800;
 has tasks         => sub { {} };
 
-our $VERSION = '7.06';
+our $VERSION = '7.07';
 
 sub add_task { ($_[0]->tasks->{$_[1]} = $_[2]) and return $_[0] }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-7.06/t/pg.t new/Minion-7.07/t/pg.t
--- old/Minion-7.06/t/pg.t      2017-09-21 11:15:52.000000000 +0200
+++ new/Minion-7.07/t/pg.t      2017-10-11 23:12:53.000000000 +0200
@@ -418,7 +418,7 @@
 $worker->unregister;
 
 # Events
-my ($enqueue, $pid);
+my ($enqueue, $pid_start, $pid_stop);
 my $failed = $finished = 0;
 $minion->once(enqueue => sub { $enqueue = pop });
 $minion->once(
@@ -429,7 +429,8 @@
         my ($worker, $job) = @_;
         $job->on(failed   => sub { $failed++ });
         $job->on(finished => sub { $finished++ });
-        $job->on(spawn    => sub { $pid = pop });
+        $job->on(spawn    => sub { $pid_start = pop });
+        $job->on(reap     => sub { $pid_stop = pop });
         $job->on(
           start => sub {
             my $job = shift;
@@ -455,7 +456,9 @@
 is $result,   'Everything is fine!', 'right result';
 is $failed,   0,                     'failed event has not been emitted';
 is $finished, 1,                     'finished event has been emitted once';
-isnt $pid, $$, 'new process id';
+isnt $pid_start, $$,        'new process id';
+isnt $pid_stop,  $$,        'new process id';
+is $pid_start,   $pid_stop, 'same process id';
 $job = $worker->dequeue(0);
 my $err;
 $job->on(failed => sub { $err = pop });


Reply via email to