Hello community,

here is the log from the commit of package perl-Minion for openSUSE:Factory 
checked in at 2019-08-09 16:55:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Minion (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Minion.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Minion"

Fri Aug  9 16:55:04 2019 rev:49 rq:721974 version:9.12

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Minion/perl-Minion.changes  2019-07-17 
14:27:17.683338494 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Minion.new.9556/perl-Minion.changes        
2019-08-09 16:55:06.169443983 +0200
@@ -1,0 +2,13 @@
+Tue Aug  6 05:14:10 UTC 2019 - Stephan Kulow <co...@suse.com>
+
+- updated to 9.12
+   see /usr/share/doc/packages/perl-Minion/Changes
+
+  9.12  2019-08-04
+    - Added EXPERIMENTAL notes option to list_jobs method in Minion::Backend 
and
+      Minion::Backend::Pg.
+    - Added -n option to job command.
+    - Improved note methods in Minion::Job, Minion::Backend and
+      Minion::Backend::Pg to allow for fields to be removed.
+
+-------------------------------------------------------------------

Old:
----
  Minion-9.11.tar.gz

New:
----
  Minion-9.12.tar.gz

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

Other differences:
------------------
++++++ perl-Minion.spec ++++++
--- /var/tmp/diff_new_pack.KhiGVG/_old  2019-08-09 16:55:07.001443783 +0200
+++ /var/tmp/diff_new_pack.KhiGVG/_new  2019-08-09 16:55:07.005443782 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Minion
-Version:        9.11
+Version:        9.12
 Release:        0
 %define cpan_name Minion
 Summary:        Job queue

++++++ Minion-9.11.tar.gz -> Minion-9.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/Changes new/Minion-9.12/Changes
--- old/Minion-9.11/Changes     2019-07-08 13:58:20.000000000 +0200
+++ new/Minion-9.12/Changes     2019-08-05 00:27:04.000000000 +0200
@@ -1,4 +1,11 @@
 
+9.12  2019-08-04
+  - Added EXPERIMENTAL notes option to list_jobs method in Minion::Backend and
+    Minion::Backend::Pg.
+  - Added -n option to job command.
+  - Improved note methods in Minion::Job, Minion::Backend and
+    Minion::Backend::Pg to allow for fields to be removed.
+
 9.11  2019-07-08
   - Added time field to list_jobs method in Minion::Backend::Pg.
   - Added time field to info method in Minion::Job.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/MANIFEST new/Minion-9.12/MANIFEST
--- old/Minion-9.11/MANIFEST    2019-07-08 13:59:57.000000000 +0200
+++ new/Minion-9.12/MANIFEST    2019-08-05 11:49:53.000000000 +0200
@@ -13,6 +13,7 @@
 lib/Minion.pm
 lib/Minion/Backend.pm
 lib/Minion/Backend/Pg.pm
+lib/Minion/Backend/resources/migrations/pg.sql
 lib/Minion/Command/minion.pm
 lib/Minion/Command/minion/job.pm
 lib/Minion/Command/minion/worker.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/META.json new/Minion-9.12/META.json
--- old/Minion-9.11/META.json   2019-07-08 13:59:57.000000000 +0200
+++ new/Minion-9.12/META.json   2019-08-05 11:49:53.000000000 +0200
@@ -54,6 +54,6 @@
       },
       "x_IRC" : "irc://irc.freenode.net/#mojo"
    },
-   "version" : "9.11",
+   "version" : "9.12",
    "x_serialization_backend" : "JSON::PP version 4.04"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/META.yml new/Minion-9.12/META.yml
--- old/Minion-9.11/META.yml    2019-07-08 13:59:56.000000000 +0200
+++ new/Minion-9.12/META.yml    2019-08-05 11:49:53.000000000 +0200
@@ -27,5 +27,5 @@
   homepage: https://mojolicious.org
   license: http://www.opensource.org/licenses/artistic-license-2.0
   repository: https://github.com/mojolicious/minion.git
-version: '9.11'
+version: '9.12'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/lib/Minion/Backend/Pg.pm 
new/Minion-9.12/lib/Minion/Backend/Pg.pm
--- old/Minion-9.11/lib/Minion/Backend/Pg.pm    2019-07-08 13:58:20.000000000 
+0200
+++ new/Minion-9.12/lib/Minion/Backend/Pg.pm    2019-08-05 11:48:01.000000000 
+0200
@@ -2,6 +2,7 @@
 use Mojo::Base 'Minion::Backend';
 
 use Carp 'croak';
+use Mojo::File 'path';
 use Mojo::IOLoop;
 use Mojo::Pg 4.0;
 use Sys::Hostname 'hostname';
@@ -88,10 +89,11 @@
        extract(epoch from started) as started, state, task,
        extract(epoch from now()) as time, count(*) over() as total, worker
      from minion_jobs as j
-     where (id = any ($1) or $1 is null) and (queue = any ($2) or $2 is null)
-       and (state = any ($3) or $3 is null) and (task = any ($4) or $4 is null)
+     where (id = any ($1) or $1 is null) and (notes \? any ($2) or $2 is null)
+       and (queue = any ($3) or $3 is null) and (state = any ($4) or $4 is 
null)
+       and (task = any ($5) or $5 is null)
      order by id desc
-     limit $5 offset $6', @$options{qw(ids queues states tasks)}, $limit,
+     limit $6 offset $7', @$options{qw(ids notes queues states tasks)}, $limit,
     $offset
   )->expand->hashes->to_array;
 
@@ -140,7 +142,9 @@
     if $db->dbh->{pg_server_version} < 90500;
   $db->disconnect;
 
-  $self->pg->auto_migrate(1)->migrations->name('minion')->from_data;
+  my $schema
+    = path(__FILE__)->dirname->child('resources', 'migrations', 'pg.sql');
+  $self->pg->auto_migrate(1)->migrations->name('minion')->from_file($schema);
 
   return $self;
 }
@@ -148,8 +152,10 @@
 sub note {
   my ($self, $id, $merge) = @_;
   return !!$self->pg->db->query(
-    'update minion_jobs set notes = notes || ? where id = ?',
-    {json => $merge}, $id)->rows;
+    'update minion_jobs set notes = jsonb_strip_nulls(notes || ?) where id = 
?',
+    {json => $merge},
+    $id
+  )->rows;
 }
 
 sub receive {
@@ -537,6 +543,13 @@
 
 List only jobs with these ids.
 
+=item notes
+
+  notes => ['foo', 'bar']
+
+List only jobs with one of these notes. Note that this option is EXPERIMENTAL
+and might change without warning!
+
 =item queues
 
   queues => ['important', 'unimportant']
@@ -828,7 +841,8 @@
 
   my $bool = $backend->note($job_id, {mojo => 'rocks', minion => 'too'});
 
-Change one or more metadata fields for a job.
+Change one or more metadata fields for a job. Setting a value to C<undef> will
+remove the field.
 
 =head2 receive
 
@@ -1011,135 +1025,3 @@
 L<Minion>, L<Mojolicious::Guides>, L<https://mojolicious.org>.
 
 =cut
-
-__DATA__
-
-@@ minion
--- 1 up
-create table if not exists minion_jobs (
-  id       bigserial not null primary key,
-  args     json not null,
-  created  timestamp with time zone not null,
-  delayed  timestamp with time zone not null,
-  finished timestamp with time zone,
-  priority int not null,
-  result   json,
-  retried  timestamp with time zone,
-  retries  int not null,
-  started  timestamp with time zone,
-  state    text not null,
-  task     text not null,
-  worker   bigint
-);
-create table if not exists minion_workers (
-  id      bigserial not null primary key,
-  host    text not null,
-  pid     int not null,
-  started timestamp with time zone not null
-);
-
--- 1 down
-drop table if exists minion_jobs;
-drop table if exists minion_workers;
-
--- 2 up
-alter table minion_jobs alter column created set default now();
-alter table minion_jobs alter column state set default 'inactive';
-alter table minion_jobs alter column retries set default 0;
-alter table minion_workers add column
-  notified timestamp with time zone not null default now();
-alter table minion_workers alter column started set default now();
-
--- 4 up
-alter table minion_jobs add column queue text not null default 'default';
-
--- 5 up
-alter table minion_jobs add column attempts int not null default 1;
-
--- 7 up
-create type minion_state as enum ('inactive', 'active', 'failed', 'finished');
-alter table minion_jobs alter column state set default 
'inactive'::minion_state;
-alter table minion_jobs
-  alter column state type minion_state using state::minion_state;
-alter table minion_jobs alter column args type jsonb using args::jsonb;
-alter table minion_jobs alter column result type jsonb using result::jsonb;
-
--- 7 down
-alter table minion_jobs alter column state type text using state;
-alter table minion_jobs alter column state set default 'inactive';
-drop type if exists minion_state;
-
--- 8 up
-alter table minion_jobs add constraint args check(jsonb_typeof(args) = 
'array');
-
--- 9 up
-create or replace function minion_jobs_notify_workers() returns trigger as $$
-  begin
-    if new.delayed <= now() then
-      notify "minion.job";
-    end if;
-    return null;
-  end;
-$$ language plpgsql;
-set client_min_messages to warning;
-drop trigger if exists minion_jobs_insert_trigger on minion_jobs;
-drop trigger if exists minion_jobs_notify_workers_trigger on minion_jobs;
-set client_min_messages to notice;
-create trigger minion_jobs_notify_workers_trigger
-  after insert or update of retries on minion_jobs
-  for each row execute procedure minion_jobs_notify_workers();
-
--- 9 down
-drop trigger if exists minion_jobs_notify_workers_trigger on minion_jobs;
-drop function if exists minion_jobs_notify_workers();
-
--- 10 up
-alter table minion_jobs add column parents bigint[] not null default '{}';
-
--- 11 up
-create index on minion_jobs (state, priority desc, id);
-
--- 12 up
-alter table minion_workers add column inbox jsonb
-  check(jsonb_typeof(inbox) = 'array') not null default '[]';
-
--- 15 up
-alter table minion_workers add column status jsonb
-  check(jsonb_typeof(status) = 'object') not null default '{}';
-
--- 16 up
-create index on minion_jobs using gin (parents);
-create table if not exists minion_locks (
-  id      bigserial not null primary key,
-  name    text not null,
-  expires timestamp with time zone not null
-);
-
--- 16 down
-drop table if exists minion_locks;
-
--- 17 up
-alter table minion_jobs add column notes jsonb
-  check(jsonb_typeof(notes) = 'object') not null default '{}';
-alter table minion_locks set unlogged;
-create index on minion_locks (name, expires);
-
--- 18 up
-create or replace function minion_lock(text, int, int) returns bool as $$
-declare
-  new_expires timestamp with time zone = now() + (interval '1 second' * $2);
-begin
-  lock table minion_locks in exclusive mode;
-  delete from minion_locks where expires < now();
-  if (select count(*) >= $3 from minion_locks where name = $1) then
-    return false;
-  end if;
-  if new_expires > now() then
-    insert into minion_locks (name, expires) values ($1, new_expires);
-  end if;
-  return true;
-end;
-$$ language plpgsql;
-
--- 18 down
-drop function if exists minion_lock(text, int, int);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Minion-9.11/lib/Minion/Backend/resources/migrations/pg.sql 
new/Minion-9.12/lib/Minion/Backend/resources/migrations/pg.sql
--- old/Minion-9.11/lib/Minion/Backend/resources/migrations/pg.sql      
1970-01-01 01:00:00.000000000 +0100
+++ new/Minion-9.12/lib/Minion/Backend/resources/migrations/pg.sql      
2019-08-05 11:46:54.000000000 +0200
@@ -0,0 +1,136 @@
+--
+-- These are the migrations for the PostgreSQL Minion backend. They are only
+-- used for upgrades to the latest version. Downgrades may be used to clean up
+-- the database, but they do not have to work with old versions of Minion.
+--
+-- 1 up
+create table if not exists minion_jobs (
+  id       bigserial not null primary key,
+  args     json not null,
+  created  timestamp with time zone not null,
+  delayed  timestamp with time zone not null,
+  finished timestamp with time zone,
+  priority int not null,
+  result   json,
+  retried  timestamp with time zone,
+  retries  int not null,
+  started  timestamp with time zone,
+  state    text not null,
+  task     text not null,
+  worker   bigint
+);
+create table if not exists minion_workers (
+  id      bigserial not null primary key,
+  host    text not null,
+  pid     int not null,
+  started timestamp with time zone not null
+);
+
+-- 1 down
+drop table if exists minion_jobs;
+drop table if exists minion_workers;
+
+-- 2 up
+alter table minion_jobs alter column created set default now();
+alter table minion_jobs alter column state set default 'inactive';
+alter table minion_jobs alter column retries set default 0;
+alter table minion_workers add column
+  notified timestamp with time zone not null default now();
+alter table minion_workers alter column started set default now();
+
+-- 4 up
+alter table minion_jobs add column queue text not null default 'default';
+
+-- 5 up
+alter table minion_jobs add column attempts int not null default 1;
+
+-- 7 up
+create type minion_state as enum ('inactive', 'active', 'failed', 'finished');
+alter table minion_jobs alter column state set default 
'inactive'::minion_state;
+alter table minion_jobs
+  alter column state type minion_state using state::minion_state;
+alter table minion_jobs alter column args type jsonb using args::jsonb;
+alter table minion_jobs alter column result type jsonb using result::jsonb;
+
+-- 7 down
+alter table minion_jobs alter column state type text using state;
+alter table minion_jobs alter column state set default 'inactive';
+drop type if exists minion_state;
+
+-- 8 up
+alter table minion_jobs add constraint args check(jsonb_typeof(args) = 
'array');
+
+-- 9 up
+create or replace function minion_jobs_notify_workers() returns trigger as $$
+  begin
+    if new.delayed <= now() then
+      notify "minion.job";
+    end if;
+    return null;
+  end;
+$$ language plpgsql;
+set client_min_messages to warning;
+drop trigger if exists minion_jobs_insert_trigger on minion_jobs;
+drop trigger if exists minion_jobs_notify_workers_trigger on minion_jobs;
+set client_min_messages to notice;
+create trigger minion_jobs_notify_workers_trigger
+  after insert or update of retries on minion_jobs
+  for each row execute procedure minion_jobs_notify_workers();
+
+-- 9 down
+drop trigger if exists minion_jobs_notify_workers_trigger on minion_jobs;
+drop function if exists minion_jobs_notify_workers();
+
+-- 10 up
+alter table minion_jobs add column parents bigint[] not null default '{}';
+
+-- 11 up
+create index on minion_jobs (state, priority desc, id);
+
+-- 12 up
+alter table minion_workers add column inbox jsonb
+  check(jsonb_typeof(inbox) = 'array') not null default '[]';
+
+-- 15 up
+alter table minion_workers add column status jsonb
+  check(jsonb_typeof(status) = 'object') not null default '{}';
+
+-- 16 up
+create index on minion_jobs using gin (parents);
+create table if not exists minion_locks (
+  id      bigserial not null primary key,
+  name    text not null,
+  expires timestamp with time zone not null
+);
+
+-- 16 down
+drop table if exists minion_locks;
+
+-- 17 up
+alter table minion_jobs add column notes jsonb
+  check(jsonb_typeof(notes) = 'object') not null default '{}';
+alter table minion_locks set unlogged;
+create index on minion_locks (name, expires);
+
+-- 18 up
+create or replace function minion_lock(text, int, int) returns bool as $$
+declare
+  new_expires timestamp with time zone = now() + (interval '1 second' * $2);
+begin
+  lock table minion_locks in exclusive mode;
+  delete from minion_locks where expires < now();
+  if (select count(*) >= $3 from minion_locks where name = $1) then
+    return false;
+  end if;
+  if new_expires > now() then
+    insert into minion_locks (name, expires) values ($1, new_expires);
+  end if;
+  return true;
+end;
+$$ language plpgsql;
+
+-- 18 down
+drop function if exists minion_lock(text, int, int);
+
+-- 19 up
+create index on minion_jobs using gin (notes);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/lib/Minion/Backend.pm 
new/Minion-9.12/lib/Minion/Backend.pm
--- old/Minion-9.11/lib/Minion/Backend.pm       2019-07-08 13:58:20.000000000 
+0200
+++ new/Minion-9.12/lib/Minion/Backend.pm       2019-08-05 00:22:22.000000000 
+0200
@@ -278,6 +278,13 @@
 
 List only jobs with these ids.
 
+=item notes
+
+  notes => ['foo', 'bar']
+
+List only jobs with one of these notes. Note that this option is EXPERIMENTAL
+and might change without warning!
+
 =item queues
 
   queues => ['important', 'unimportant']
@@ -565,8 +572,8 @@
 
   my $bool = $backend->note($job_id, {mojo => 'rocks', minion => 'too'});
 
-Change one or more metadata fields for a job. Meant to be overloaded in a
-subclass.
+Change one or more metadata fields for a job. Setting a value to C<undef>
+will remove the field. Meant to be overloaded in a subclass.
 
 =head2 receive
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/lib/Minion/Command/minion/job.pm 
new/Minion-9.12/lib/Minion/Command/minion/job.pm
--- old/Minion-9.11/lib/Minion/Command/minion/job.pm    2019-05-31 
21:45:13.000000000 +0200
+++ new/Minion-9.12/lib/Minion/Command/minion/job.pm    2019-08-04 
23:39:45.000000000 +0200
@@ -21,6 +21,7 @@
     'H|history'     => \my $history,
     'L|locks'       => \my $locks,
     'l|limit=i'     => \(my $limit = 100),
+    'n|notes=s'     => sub { $opts->{notes} = decode_json($_[1]) },
     'o|offset=i'    => \(my $offset = 0),
     'P|parent=s'    => sub { push @{$opts->{parents}}, $_[1] },
     'p|priority=i'  => \$opts->{priority},
@@ -120,8 +121,10 @@
     ./myapp.pl minion job -q important -t foo -t bar -S inactive
     ./myapp.pl minion job -e foo -a '[23, "bar"]'
     ./myapp.pl minion job -e foo -P 10023 -P 10024 -p 5 -q important
+    ./myapp.pl minion job -e 'foo' -n '{"test":123}'
     ./myapp.pl minion job -R -d 10 10023
     ./myapp.pl minion job --remove 10023
+    ./myapp.pl minion job -n '["test"]'
     ./myapp.pl minion job -L
     ./myapp.pl minion job -L some_lock some_other_lock
     ./myapp.pl minion job -b jobs -a '[12]'
@@ -150,6 +153,8 @@
     -m, --mode <name>           Operating mode for your application, defaults 
to
                                 the value of MOJO_MODE/PLACK_ENV or
                                 "development"
+    --n, notes <JSON>           Notes in JSON format for new job or list only
+                                jobs with one of these notes
     -o, --offset <number>       Number of jobs/workers to skip when listing
                                 them, defaults to 0
     -P, --parent <id>           One or more jobs the new job depends on
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/lib/Minion/Job.pm 
new/Minion-9.12/lib/Minion/Job.pm
--- old/Minion-9.11/lib/Minion/Job.pm   2019-07-08 13:58:20.000000000 +0200
+++ new/Minion-9.12/lib/Minion/Job.pm   2019-08-05 00:26:21.000000000 +0200
@@ -262,7 +262,8 @@
   my $err = $job->execute;
 
 Perform job in this process and return C<undef> if the task was successful or 
an
-exception otherwise.
+exception otherwise.  Note that this method should only be used to implement
+custom workers.
 
   # Perform job in foreground
   if (my $err = $job->execute) { $job->fail($err) }
@@ -419,22 +420,25 @@
 
   my $bool = $job->is_finished;
 
-Check if job performed with L</"start"> is finished.
+Check if job performed with L</"start"> is finished. Note that this method
+should only be used to implement custom workers.
 
 =head2 kill
 
   $job->kill('INT');
 
-Send a signal to job performed with L</"start">.
+Send a signal to job performed with L</"start">. Note that this method should
+only be used to implement custom workers.
 
 =head2 note
 
   my $bool = $job->note(mojo => 'rocks', minion => 'too');
 
-Change one or more metadata fields for this job. The new values will get
-serialized by L<Minion/"backend"> (often with L<Mojo::JSON>), so you shouldn't
-send objects and be careful with binary data, nested data structures with hash
-and array references are fine though.
+Change one or more metadata fields for this job. Setting a value to C<undef>
+will remove the field. The new values will get serialized by 
L<Minion/"backend">
+(often with L<Mojo::JSON>), so you shouldn't send objects and be careful with
+binary data, nested data structures with hash and array references are fine
+though.
 
   # Share progress information
   $job->note(progress => 95);
@@ -446,13 +450,15 @@
 
   $job->perform;
 
-Perform job in new process and wait for it to finish.
+Perform job in new process and wait for it to finish. Note that this method
+should only be used to implement custom workers.
 
 =head2 pid
 
   my $pid = $job->pid;
 
-Process id of the process spawned by L</"start"> if available.
+Process id of the process spawned by L</"start"> if available. Note that this
+method should only be used to implement custom workers.
 
 =head2 remove
 
@@ -508,7 +514,8 @@
 
   $job = $job->start;
 
-Perform job in new process, but do not wait for it to finish.
+Perform job in new process, but do not wait for it to finish. Note that this
+method should only be used to implement custom workers.
 
   # Perform two jobs concurrently
   $job1->start;
@@ -521,7 +528,8 @@
 
   $job->stop;
 
-Stop job performed with L</"start"> immediately.
+Stop job performed with L</"start"> immediately. Note that this method should
+only be used to implement custom workers.
 
 =head1 SEE ALSO
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/lib/Minion/Worker.pm 
new/Minion-9.12/lib/Minion/Worker.pm
--- old/Minion-9.11/lib/Minion/Worker.pm        2019-05-31 21:45:12.000000000 
+0200
+++ new/Minion-9.12/lib/Minion/Worker.pm        2019-08-04 23:35:24.000000000 
+0200
@@ -382,7 +382,7 @@
 
   $worker->run;
 
-Run worker and wait for L</"SIGNALS">.
+Run worker and wait for L</"WORKER SIGNALS">.
 
 These L</"status"> options are currently available:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/lib/Minion.pm 
new/Minion-9.12/lib/Minion.pm
--- old/Minion-9.11/lib/Minion.pm       2019-07-08 13:58:20.000000000 +0200
+++ new/Minion-9.12/lib/Minion.pm       2019-08-04 23:24:47.000000000 +0200
@@ -22,7 +22,7 @@
 has remove_after  => 172800;
 has tasks         => sub { {} };
 
-our $VERSION = '9.11';
+our $VERSION = '9.12';
 
 sub add_task { ($_[0]->tasks->{$_[1]} = $_[2]) and return $_[0] }
 
@@ -808,7 +808,8 @@
 
   my $worker = $minion->worker;
 
-Build L<Minion::Worker> object.
+Build L<Minion::Worker> object. Note that this method should only be used to
+implement custom workers.
 
   # Use the standard worker with all its features
   my $worker = $minion->worker;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Minion-9.11/t/pg.t new/Minion-9.12/t/pg.t
--- old/Minion-9.11/t/pg.t      2019-07-08 13:58:20.000000000 +0200
+++ new/Minion-9.12/t/pg.t      2019-08-05 00:24:36.000000000 +0200
@@ -24,11 +24,11 @@
 isa_ok $worker->minion->app, 'Mojolicious', 'has default application';
 
 # Migrate up and down
-is $minion->backend->pg->migrations->active, 18, 'active version is 18';
+is $minion->backend->pg->migrations->active, 19, 'active version is 19';
 is $minion->backend->pg->migrations->migrate(0)->active, 0,
   'active version is 0';
-is $minion->backend->pg->migrations->migrate->active, 18,
-  'active version is 18';
+is $minion->backend->pg->migrations->migrate->active, 19,
+  'active version is 19';
 
 # Register and unregister
 $worker->register;
@@ -422,6 +422,11 @@
 is $batch->[2]{queue}, 'default', 'right queue';
 is $batch->[3]{queue}, 'default', 'right queue';
 ok !$batch->[4], 'no more results';
+$id2   = $minion->enqueue('test' => [] => {notes => {is_test => 1}});
+$batch = $minion->backend->list_jobs(0, 10, {notes => ['is_test']})->{jobs};
+is $batch->[0]{task}, 'test', 'right task';
+ok !$batch->[4], 'no more results';
+ok $minion->job($id2)->remove, 'job removed';
 $batch
   = $minion->backend->list_jobs(0, 10, {queues => ['does_not_exist']})->{jobs};
 is_deeply $batch, [], 'no results';
@@ -711,6 +716,9 @@
 };
 is_deeply $job->info->{notes}, $notes, 'right metadata';
 is_deeply $job->info->{result}, [{23 => 'testtesttest'}], 'right structure';
+ok $job->note(yada => undef, bar => undef), 'removed metadata';
+$notes = {foo => [4, 5, 6], baz => 'yada'};
+is_deeply $job->info->{notes}, $notes, 'right metadata';
 $worker->unregister;
 
 # Perform job in a running event loop


Reply via email to