Hello community,
here is the log from the commit of package perl-MooseX-Workers for openSUSE:Factory checked in at 2015-04-15 16:26:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-MooseX-Workers (Old)
and /work/SRC/openSUSE:Factory/.perl-MooseX-Workers.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-MooseX-Workers"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-MooseX-Workers/perl-MooseX-Workers.changes 2013-06-09 16:58:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-MooseX-Workers.new/perl-MooseX-Workers.changes 2015-04-15 16:26:17.000000000 +0200
@@ -1,0 +2,13 @@
+Tue Apr 14 19:46:27 UTC 2015 - coolo@suse.com
+
+- updated to 0.24
+ see /usr/share/doc/packages/perl-MooseX-Workers/Changes
+
+ 0.24 2015-02-07 14:01:39
+ - fix POD error (extra =back) (github #1)
+ - add blank line after package statement so that dzil plugin
+ PkgVersion doesn't complain (github #1)
+ - reenable 10.worker.enqueue.t on Win32 to see if there are still
+ problems with smokers
+
+-------------------------------------------------------------------
Old:
----
MooseX-Workers-0.23.tar.gz
New:
----
MooseX-Workers-0.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-MooseX-Workers.spec ++++++
--- /var/tmp/diff_new_pack.6uVpCi/_old 2015-04-15 16:26:17.000000000 +0200
+++ /var/tmp/diff_new_pack.6uVpCi/_new 2015-04-15 16:26:17.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-MooseX-Workers
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
@@ -17,7 +17,7 @@
Name: perl-MooseX-Workers
-Version: 0.23
+Version: 0.24
Release: 0
%define cpan_name MooseX-Workers
Summary: Simple sub-process management for asynchronous tasks
@@ -38,14 +38,6 @@
BuildRequires: perl(POE::Wheel::Run)
BuildRequires: perl(Package::Stash)
BuildRequires: perl(Try::Tiny)
-#BuildRequires: perl(App)
-#BuildRequires: perl(BaseClass)
-#BuildRequires: perl(BaseClass::Subclass)
-#BuildRequires: perl(ManagerRole)
-#BuildRequires: perl(MooseX::Workers)
-#BuildRequires: perl(MooseX::Workers::Engine)
-#BuildRequires: perl(MooseX::Workers::Job)
-#BuildRequires: perl(POE::Session)
Requires: perl(Moose)
Requires: perl(Moose::Role)
Requires: perl(POE)
++++++ MooseX-Workers-0.23.tar.gz -> MooseX-Workers-0.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/Changes new/MooseX-Workers-0.24/Changes
--- old/MooseX-Workers-0.23/Changes 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/Changes 2015-02-07 20:01:47.000000000 +0100
@@ -1,6 +1,13 @@
Revision history for MooseX-Workers
Full history: https://github.com/jhannah/moosex-workers
+0.24 2015-02-07 14:01:39
+ - fix POD error (extra =back) (github #1)
+ - add blank line after package statement so that dzil plugin
+ PkgVersion doesn't complain (github #1)
+ - reenable 10.worker.enqueue.t on Win32 to see if there are still
+ problems with smokers
+
0.23 2013-04-30 18:40:46
- check class mutability when adding around for Win32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/LICENSE new/MooseX-Workers-0.24/LICENSE
--- old/MooseX-Workers-0.23/LICENSE 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/LICENSE 2015-02-07 20:01:47.000000000 +0100
@@ -22,7 +22,7 @@
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/MANIFEST new/MooseX-Workers-0.24/MANIFEST
--- old/MooseX-Workers-0.23/MANIFEST 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/MANIFEST 2015-02-07 20:01:47.000000000 +0100
@@ -1,3 +1,4 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.031.
Changes
LICENSE
MANIFEST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/META.json new/MooseX-Workers-0.24/META.json
--- old/MooseX-Workers-0.23/META.json 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/META.json 2015-02-07 20:01:47.000000000 +0100
@@ -4,24 +4,25 @@
"Chris Prather "
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 4.300028, CPAN::Meta::Converter version 2.120921",
+ "generated_by" : "Dist::Zilla version 5.031, CPAN::Meta::Converter version 2.143240",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
+ "version" : 2
},
"name" : "MooseX-Workers",
"no_index" : {
"directory" : [
+ "t",
"doc"
]
},
"prereqs" : {
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.30"
+ "ExtUtils::MakeMaker" : "0"
}
},
"develop" : {
@@ -44,11 +45,14 @@
"test" : {
"requires" : {
"DateTime" : "0",
- "File::Find" : "0",
- "File::Temp" : "0",
+ "File::Spec" : "0",
+ "IO::Handle" : "0",
+ "IPC::Open3" : "0",
"POE::Filter::Line" : "0",
"POE::Filter::Reference" : "0",
"Test::More" : "0",
+ "lib" : "0",
+ "perl" : "5.006",
"strict" : "0",
"warnings" : "0"
}
@@ -70,7 +74,7 @@
"web" : "http://github.com/jhannah/moosex-workers"
}
},
- "version" : "0.23",
+ "version" : "0.24",
"x_authority" : "cpan:PERIGRIN"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/META.yml new/MooseX-Workers-0.24/META.yml
--- old/MooseX-Workers-0.23/META.yml 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/META.yml 2015-02-07 20:01:47.000000000 +0100
@@ -3,39 +3,43 @@
author:
- 'Chris Prather '
build_requires:
- DateTime: 0
- File::Find: 0
- File::Temp: 0
- POE::Filter::Line: 0
- POE::Filter::Reference: 0
- Test::More: 0
- strict: 0
- warnings: 0
+ DateTime: '0'
+ File::Spec: '0'
+ IO::Handle: '0'
+ IPC::Open3: '0'
+ POE::Filter::Line: '0'
+ POE::Filter::Reference: '0'
+ Test::More: '0'
+ lib: '0'
+ perl: '5.006'
+ strict: '0'
+ warnings: '0'
configure_requires:
- ExtUtils::MakeMaker: 6.30
+ ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300028, CPAN::Meta::Converter version 2.120921'
+generated_by: 'Dist::Zilla version 5.031, CPAN::Meta::Converter version 2.143240'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
name: MooseX-Workers
no_index:
directory:
+ - t
- doc
requires:
- Moose: 0
- Moose::Role: 0
- POE: 0
- POE::Wheel::Run: 0
- Package::Stash: 0
- Scalar::Util: 0
- Try::Tiny: 0
- overload: 0
+ Moose: '0'
+ Moose::Role: '0'
+ POE: '0'
+ POE::Wheel::Run: '0'
+ Package::Stash: '0'
+ Scalar::Util: '0'
+ Try::Tiny: '0'
+ overload: '0'
resources:
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Workers
homepage: http://metacpan.org/release/MooseX-Workers
license: http://dev.perl.org/licenses/
repository: git://github.com/jhannah/moosex-workers.git
-version: 0.23
+version: '0.24'
x_authority: cpan:PERIGRIN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/Makefile.PL new/MooseX-Workers-0.24/Makefile.PL
--- old/MooseX-Workers-0.23/Makefile.PL 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/Makefile.PL 2015-02-07 20:01:47.000000000 +0100
@@ -1,32 +1,24 @@
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.031.
use strict;
use warnings;
+use 5.006;
-
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
"ABSTRACT" => "Simple sub-process management for asynchronous tasks",
"AUTHOR" => "Chris Prather ",
- "BUILD_REQUIRES" => {
- "DateTime" => 0,
- "File::Find" => 0,
- "File::Temp" => 0,
- "POE::Filter::Line" => 0,
- "POE::Filter::Reference" => 0,
- "Test::More" => 0,
- "strict" => 0,
- "warnings" => 0
- },
"CONFIGURE_REQUIRES" => {
- "ExtUtils::MakeMaker" => "6.30"
+ "ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "MooseX-Workers",
"EXE_FILES" => [],
"LICENSE" => "perl",
+ "MIN_PERL_VERSION" => "5.006",
"NAME" => "MooseX::Workers",
"PREREQ_PM" => {
"Moose" => 0,
@@ -38,24 +30,52 @@
"Try::Tiny" => 0,
"overload" => 0
},
- "VERSION" => "0.23",
+ "TEST_REQUIRES" => {
+ "DateTime" => 0,
+ "File::Spec" => 0,
+ "IO::Handle" => 0,
+ "IPC::Open3" => 0,
+ "POE::Filter::Line" => 0,
+ "POE::Filter::Reference" => 0,
+ "Test::More" => 0,
+ "lib" => 0,
+ "strict" => 0,
+ "warnings" => 0
+ },
+ "VERSION" => "0.24",
"test" => {
"TESTS" => "t/*.t"
}
);
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
- my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
- my $pp = $WriteMakefileArgs{PREREQ_PM};
- for my $mod ( keys %$br ) {
- if ( exists $pp->{$mod} ) {
- $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
- }
- else {
- $pp->{$mod} = $br->{$mod};
- }
- }
+my %FallbackPrereqs = (
+ "DateTime" => 0,
+ "ExtUtils::MakeMaker" => 0,
+ "File::Spec" => 0,
+ "IO::Handle" => 0,
+ "IPC::Open3" => 0,
+ "Moose" => 0,
+ "Moose::Role" => 0,
+ "POE" => 0,
+ "POE::Filter::Line" => 0,
+ "POE::Filter::Reference" => 0,
+ "POE::Wheel::Run" => 0,
+ "Package::Stash" => 0,
+ "Scalar::Util" => 0,
+ "Test::More" => 0,
+ "Try::Tiny" => 0,
+ "lib" => 0,
+ "overload" => 0,
+ "strict" => 0,
+ "warnings" => 0
+);
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+ delete $WriteMakefileArgs{TEST_REQUIRES};
+ delete $WriteMakefileArgs{BUILD_REQUIRES};
+ $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/README new/MooseX-Workers-0.24/README
--- old/MooseX-Workers-0.23/README 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/README 2015-02-07 20:01:47.000000000 +0100
@@ -1,58 +1,60 @@
NAME
+
MooseX::Workers - Simple sub-process management for asynchronous tasks
SYNOPSIS
+
EXAMPLE #1:
package Manager;
# This example prints output from the children normally on both STDOUT and STDERR
-
+
use Moose;
with qw(MooseX::Workers);
-
+
sub run {
$_[0]->spawn( sub { sleep 3; print "Hello World\n" } );
warn "Running now ... ";
POE::Kernel->run();
}
-
+
# Implement our Interface
sub worker_stdout { shift; warn join ' ', @_; }
sub worker_stderr { shift; warn join ' ', @_; }
-
+
sub worker_manager_start { warn 'started worker manager' }
sub worker_manager_stop { warn 'stopped worker manager' }
-
+
sub max_workers_reached { warn 'maximum worker count reached' }
sub worker_error { shift; warn join ' ', @_; }
sub worker_finished { warn 'a worker has finished' }
sub worker_started { shift; warn join ' ', @_; }
sub sig_child { shift; warn join ' ', @_; }
sub sig_TERM { shift; warn 'Handled TERM' }
-
+
no Moose;
-
+
Manager->new->run();
-
-
+
+
EXAMPLE #2:
package Manager;
-
+
# This example prints output from the children normally on
# STDERR but uses STDOUT to returns a hashref from the child to
# the parent
-
+
use Moose;
with qw(MooseX::Workers);
use POE qw(Filter::Reference Filter::Line);
-
+
sub run {
$_[0]->spawn(
sub {
sleep 3;
-
+
# Return a hashref (arrayref, whatever) to the parent using P::F::Reference
print @{POE::Filter::Reference->new->put([ {msg => "Hello World"} ])}; # Note the [] around the return val
-
+
# Print normally using P::F::Line (shown for
# completeness; in practice, just don't bother
# defining the _filter method
@@ -60,20 +62,20 @@
print STDERR "Hey look, an error message";
}
);
-
+
POE::Kernel->run();
}
-
+
# Implement our Interface
# These two are both optional; if defined (as here), they
# should return a subclass of POE::Filter.
sub stdout_filter { POE::Filter::Reference->new }
sub stderr_filter { POE::Filter::Line->new }
-
+
sub worker_stdout {
my ( $self, $result ) = @_; # $result will be a hashref: {msg => "Hello World"}
print $result->{msg};
-
+
# Note that you can do more than just print the message --
# e.g. this is the way to return data from the children for
# accumulation in the parent.
@@ -82,158 +84,184 @@
my ( $self, $stderr_msg ) = @_; # $stderr_msg will be a string: "Hey look, an error message";
warn $stderr_msg;
}
-
+
# From here down, this is identical to the previous example.
sub worker_manager_start { warn 'started worker manager' }
sub worker_manager_stop { warn 'stopped worker manager' }
-
+
sub max_workers_reached { warn 'maximum worker count reached' }
sub worker_error { shift; warn join ' ', @_; }
sub worker_finished { warn 'a worker has finished' }
sub worker_started { shift; warn join ' ', @_; }
sub sig_child { shift; warn join ' ', @_; }
sub sig_TERM { shift; warn 'Handled TERM' }
-
+
no Moose;
-
+
Manager->new->run();
DESCRIPTION
+
MooseX::Workers is a Role that provides easy delegation of long-running
tasks into a managed child process. Process management is taken care of
via POE and its POE::Wheel::Run module.
METHODS
+
spawn ($command)
+
fork ($command)
+
run_command ($command)
- These three methods are the whole point of this module. They pass
- $command through to the MooseX::Worker::Engine which will take care
- of running $command for you.
-
- spawn() and fork() both invoke POE::Kernel call(), which is
- synchronous.
-
- run_command() invokes POE::Kernel yield(), which is asynchronous.
-
- If max_workers() has been reached, run_command() warns and does
- nothing. It is up to you to re-submit $command. See enqueue() if you
- want us to run $command as soon as another worker is free.
+
+ These three methods are the whole point of this module. They pass
+ $command through to the MooseX::Worker::Engine which will take care
+ of running $command for you.
+
+ spawn() and fork() both invoke POE::Kernel call(), which is
+ synchronous.
+
+ run_command() invokes POE::Kernel yield(), which is asynchronous.
+
+ If max_workers() has been reached, run_command() warns and does
+ nothing. It is up to you to re-submit $command. See enqueue() if you
+ want us to run $command as soon as another worker is free.
enqueue($command)
- Just like run_command(), only that if max_workers() has been set and
- that number of workers has been reached, then we add $command to a
- FIFO command queue. As soon as any running worker exits, the first
- $command in queue (if any) will be run.
+
+ Just like run_command(), only that if max_workers() has been set and
+ that number of workers has been reached, then we add $command to a
+ FIFO command queue. As soon as any running worker exits, the first
+ $command in queue (if any) will be run.
check_worker_threshold
- This will check to see how many workers you have compared to the
- max_workers limit. It returns true if the $num_workers is >=
- $max_workers;
+
+ This will check to see how many workers you have compared to the
+ max_workers limit. It returns true if the $num_workers is >=
+ $max_workers;
max_workers($count)
- An accessor for the maximum number of workers. This is delegated to
- the MooseX::Workers::Engine object.
+
+ An accessor for the maximum number of workers. This is delegated to
+ the MooseX::Workers::Engine object.
has_workers
- Check to see if we have *any* workers currently. This is delegated
- to the MooseX::Workers::Engine object.
+
+ Check to see if we have *any* workers currently. This is delegated to
+ the MooseX::Workers::Engine object.
num_workers
- Return the current number of workers. This is delegated to the
- MooseX::Workers::Engine object.
+
+ Return the current number of workers. This is delegated to the
+ MooseX::Workers::Engine object.
meta
- The Metaclass for MooseX::Workers::Engine see Moose's documentation.
+
+ The Metaclass for MooseX::Workers::Engine see Moose's documentation.
INTERFACE
+
MooseX::Worker::Engine supports the following callbacks:
worker_manager_start
- Called when the managing session is started
+
+ Called when the managing session is started
worker_manager_stop
- Called when the managing session stops
+
+ Called when the managing session stops
max_workers_reached
- Called when we reach the maximum number of workers
+
+ Called when we reach the maximum number of workers
stdout_filter
- OPTIONAL. If defined, this should return an object that isa
- POE::Filter. If it doesn't, the results are undefined. Anything that
- a child proc sends on STDOUT will be passed through the relevant
- filter.
+
+ OPTIONAL. If defined, this should return an object that isa
+ POE::Filter. If it doesn't, the results are undefined. Anything that
+ a child proc sends on STDOUT will be passed through the relevant
+ filter.
stderr_filter
- OPTIONAL. If defined, this should return an object that isa
- POE::Filter. If it doesn't, the results are undefined. Anything that
- a child proc sends on STDERR will be passed through the relevant
- filter.
+
+ OPTIONAL. If defined, this should return an object that isa
+ POE::Filter. If it doesn't, the results are undefined. Anything that
+ a child proc sends on STDERR will be passed through the relevant
+ filter.
worker_stdout
- Called when a child prints to STDOUT. If "stdout_filter" was
- defined, the output will be filtered appropriately, as described
- above. This is useful to allow child processes to return data to the
- parent (generally via POE::Filter::Reference).
+
+ Called when a child prints to STDOUT. If stdout_filter was defined,
+ the output will be filtered appropriately, as described above. This
+ is useful to allow child processes to return data to the parent
+ (generally via POE::Filter::Reference).
worker_stderr
- Called when a child prints to STDERR. Filtered through the result of
- "stderr_filter" if that method is defined.
+
+ Called when a child prints to STDERR. Filtered through the result of
+ stderr_filter if that method is defined.
worker_error
- Called when there is an error condition detected with the child.
+
+ Called when there is an error condition detected with the child.
worker_finished
- Called when a worker completes $command.
- If the command was a MooseX::Workers::Job, it will get the removed
- job instance as the first parameter.
+ Called when a worker completes $command.
+
+ If the command was a MooseX::Workers::Job, it will get the removed
+ job instance as the first parameter.
worker_done
- *DEPRECATED*
- This is called before the worker is removed, so "num_workers" and
- "has_workers" does not reflect that a worker has just finished. Use
- "worker_finished" instead.
+ *DEPRECATED*
+
+ This is called before the worker is removed, so "num_workers" and
+ "has_workers" does not reflect that a worker has just finished. Use
+ "worker_finished" instead.
- Gets the MooseX::Workers::Job instance, if the $command was a job,
- and the POE::Wheel::Run id otherwise.
+ Gets the MooseX::Workers::Job instance, if the $command was a job,
+ and the POE::Wheel::Run id otherwise.
worker_started
- Called when a worker starts $command
+
+ Called when a worker starts $command
sig_child
- Called when the mangaging session recieves a SIG CHLD event
+
+ Called when the mangaging session recieves a SIG CHLD event
sig_*
- Called when the underlying POE Kernel receives a signal; this is not
- limited to OS signals (ie. what you'd usually handle in Perl's %SIG)
- so will also accept arbitrary POE signals (sent via
- POE::Kernel->signal), but does exclude SIGCHLD/SIGCHILD, which is
- instead handled by sig_child above.
-
- These interface methods are automatically inserted when
- MooseX::Worker::Engine detects that your manager class contains any
- methods beginning with sig_. Signals are case-sensitive, so if you
- wish to handle a TERM signal, you must define a sig_TERM() method.
- Note also that this action is performed upon MooseX::Worker::Engine
- startup, so any run-time modification of your class which 'does'
- MooseX::Workers is not likely to be detected.
- See the sig_TERM handler in the SYNOPSIS for an example.
+ Called when the underlying POE Kernel receives a signal; this is not
+ limited to OS signals (ie. what you'd usually handle in Perl's %SIG)
+ so will also accept arbitrary POE signals (sent via
+ POE::Kernel->signal), but does exclude SIGCHLD/SIGCHILD, which is
+ instead handled by sig_child above.
+
+ These interface methods are automatically inserted when
+ MooseX::Worker::Engine detects that your manager class contains any
+ methods beginning with sig_. Signals are case-sensitive, so if you
+ wish to handle a TERM signal, you must define a sig_TERM() method.
+ Note also that this action is performed upon MooseX::Worker::Engine
+ startup, so any run-time modification of your class which 'does'
+ MooseX::Workers is not likely to be detected.
+
+ See the sig_TERM handler in the SYNOPSIS for an example.
See MooseX::Workers::Engine for more details. Also see
MooseX::Workers::Job if you'd like to give your tasks names, or set
timeouts on them.
WIN32 NOTES
+
You don't need to binmode the STDIN/STDOUT/STDERR streams in your
coderefs, this is done for you. If you need utf8, it is safe to
- re-binmode them to ":encoding(UTF-8)".
+ re-binmode them to :encoding(UTF-8).
Coderef workers that time out are killed with a SIGINT rather than a
- SIGTERM, because TERM does not behave compatibly (thanks Rocco!) This is
- done with a:
+ SIGTERM, because TERM does not behave compatibly (thanks Rocco!) This
+ is done with a:
local $SIG{INT} = sub { exit 0 };
@@ -243,45 +271,49 @@
perlport, use INT instead.
External programs are run with Win32::Job by POE::Wheel::Run. They are
- prepended with "cmd /c" so that builtin cmd commands also work. Use a
+ prepended with cmd /c so that builtin cmd commands also work. Use a
MooseX::Workers::Job with a string program and arrayref args for this.
If you are using POE::Filter::Line with an external program (which is
the default if you don't set the filter) the CRs from line ends will be
removed automatically.
BUGS AND LIMITATIONS
+
Please report any bugs or feature requests to
- "bug-moosex-workers@rt.cpan.org", or through the web interface at
- http://rt.cpan.org.
+ bug-moosex-workers@rt.cpan.org, or through the web interface at
+ http://rt.cpan.org.
- Version control: https://github.com/jhannah/moosex-workers
+ Version control: https://github.com/jhannah/moosex-workers
AUTHORS
- Chris Prather ""
- Tom Lanyon ""
+ Chris Prather
- Jay Hannah ""
+ Tom Lanyon
- Justin Hunter ""
+ Jay Hannah
- David K. Storrs ""
+ Justin Hunter
- Rafael Kitover ""
+ David K. Storrs
+
+ Rafael Kitover
LICENCE AND COPYRIGHT
- Copyright (c) 2007-2013, Chris Prather "". Some
- rights reserved.
+
+ Copyright (c) 2007-2013, Chris Prather . Some rights
+ reserved.
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself. See perlartistic.
DISCLAIMER OF WARRANTY
+
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
- FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
- PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
- EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
+ WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
+ PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND,
+ EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
@@ -298,10 +330,3 @@
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
-POD ERRORS
- Hey! The above document had some coding errors, which are explained
- below:
-
- Around line 337:
- =back without =over
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/lib/MooseX/Workers/Engine.pm new/MooseX-Workers-0.24/lib/MooseX/Workers/Engine.pm
--- old/MooseX-Workers-0.23/lib/MooseX/Workers/Engine.pm 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/lib/MooseX/Workers/Engine.pm 2015-02-07 20:01:47.000000000 +0100
@@ -1,10 +1,6 @@
package MooseX::Workers::Engine;
-BEGIN {
- $MooseX::Workers::Engine::AUTHORITY = 'cpan:PERIGRIN';
-}
-{
- $MooseX::Workers::Engine::VERSION = '0.23';
-}
+our $AUTHORITY = 'cpan:PERIGRIN';
+$MooseX::Workers::Engine::VERSION = '0.24';
use Moose;
use POE qw(Wheel::Run);
use MooseX::Workers::Job ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/lib/MooseX/Workers/Job.pm new/MooseX-Workers-0.24/lib/MooseX/Workers/Job.pm
--- old/MooseX-Workers-0.23/lib/MooseX/Workers/Job.pm 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/lib/MooseX/Workers/Job.pm 2015-02-07 20:01:47.000000000 +0100
@@ -1,11 +1,6 @@
package MooseX::Workers::Job;
-BEGIN {
- $MooseX::Workers::Job::AUTHORITY = 'cpan:PERIGRIN';
-}
-{
- $MooseX::Workers::Job::VERSION = '0.23';
-}
-
+our $AUTHORITY = 'cpan:PERIGRIN';
+$MooseX::Workers::Job::VERSION = '0.24';
use Moose;
use overload ();
use Scalar::Util 'reftype';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/lib/MooseX/Workers.pm new/MooseX-Workers-0.24/lib/MooseX/Workers.pm
--- old/MooseX-Workers-0.23/lib/MooseX/Workers.pm 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/lib/MooseX/Workers.pm 2015-02-07 20:01:47.000000000 +0100
@@ -1,10 +1,6 @@
package MooseX::Workers;
-BEGIN {
- $MooseX::Workers::AUTHORITY = 'cpan:PERIGRIN';
-}
-{
- $MooseX::Workers::VERSION = '0.23';
-}
+our $AUTHORITY = 'cpan:PERIGRIN';
+$MooseX::Workers::VERSION = '0.24';
use Moose::Role;
use MooseX::Workers::Job;
@@ -334,8 +330,6 @@
=back
-=back
-
See LMooseX::Workers::Engine for more details.
Also see LMooseX::Workers::Job if you'd like to give your tasks
names, or set timeouts on them.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/t/00-compile.t new/MooseX-Workers-0.24/t/00-compile.t
--- old/MooseX-Workers-0.23/t/00-compile.t 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/t/00-compile.t 2015-02-07 20:01:47.000000000 +0100
@@ -1,73 +1,53 @@
-#!perl
-
+use 5.006;
use strict;
use warnings;
-use Test::More;
-
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.051
+use Test::More;
-use File::Find;
-use File::Temp qw{ tempdir };
+plan tests => 3 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
-my @modules;
-find(
- sub {
- return if $File::Find::name !~ /\.pm\z/;
- my $found = $File::Find::name;
- $found =~ s{^lib/}{};
- $found =~ s{[/\\]}{::}g;
- $found =~ s/\.pm$//;
- # nothing to skip
- push @modules, $found;
- },
- 'lib',
+my @module_files = (
+ 'MooseX/Workers.pm',
+ 'MooseX/Workers/Engine.pm',
+ 'MooseX/Workers/Job.pm'
);
-sub _find_scripts {
- my $dir = shift @_;
- my @found_scripts = ();
- find(
- sub {
- return unless -f;
- my $found = $File::Find::name;
- # nothing to skip
- open my $FH, '<', $_ or do {
- note( "Unable to open $found in ( $! ), skipping" );
- return;
- };
- my $shebang = <$FH>;
- return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
- push @found_scripts, $found;
- },
- $dir,
- );
- return @found_scripts;
-}
+# no fake home requested
-my @scripts;
-do { push @scripts, _find_scripts($_) if -d $_ }
- for qw{ bin script scripts };
+my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
-{
- # fake home for cpan-testers
- # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 );
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
- like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" )
- for sort @modules;
+my @warnings;
+for my $lib (@module_files)
+{
+ # see L
+ my $stderr = IO::Handle->new;
- SKIP: {
- eval "use Test::Script 1.05; 1;";
- skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
- foreach my $file ( @scripts ) {
- my $script = $file;
- $script =~ s!.*/!!;
- script_compiles( $file, "$script script compiles" );
- }
+ my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+ binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+ my @_warnings = <$stderr>;
+ waitpid($pid, 0);
+ is($?, 0, "$lib loaded ok");
+
+ if (@_warnings)
+ {
+ warn @_warnings;
+ push @warnings, @_warnings;
}
}
+
+
+
+is(scalar(@warnings), 0, 'no warnings found')
+ or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if $ENV{AUTHOR_TESTING};
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/t/10.worker.enqueue.t new/MooseX-Workers-0.24/t/10.worker.enqueue.t
--- old/MooseX-Workers-0.23/t/10.worker.enqueue.t 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/t/10.worker.enqueue.t 2015-02-07 20:01:47.000000000 +0100
@@ -2,12 +2,14 @@
use lib qw(lib);
use strict;
-if ($^O eq 'MSWin32') {
- plan skip_all => q|this test often fails on Win32, no idea why|;
-}
-else {
+# Let's try this again on win32 testers...
+#
+#if ($^O eq 'MSWin32') {
+# plan skip_all => q|this test often fails on Win32, no idea why|;
+#}
+#else {
plan tests => 252;
-}
+#}
{
package Manager;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MooseX-Workers-0.23/t/release-pod-syntax.t new/MooseX-Workers-0.24/t/release-pod-syntax.t
--- old/MooseX-Workers-0.23/t/release-pod-syntax.t 2013-05-01 00:40:59.000000000 +0200
+++ new/MooseX-Workers-0.24/t/release-pod-syntax.t 2015-02-07 20:01:47.000000000 +0100
@@ -7,9 +7,8 @@
}
}
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
all_pod_files_ok();