Skip Menu |

This queue is for tickets about the Thread-Workers CPAN distribution.

Report information
The Basics
Id: 79382
Status: resolved
Priority: 0/
Queue: Thread-Workers

People
Owner: Nobody in particular
Requestors: mst [...] shadowcat.co.uk
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Docs don't reference standard approaches to avoid threads.pm
Date: Mon, 3 Sep 2012 19:57:42 +0100
To: bugs-Thread-Workers [...] rt.cpan.org
From: Matt S Trout <mst [...] shadowcat.co.uk>
While your module looks potentially useful for windows users, on *n?x type OSen fork() based approaches are far superior to abusing the win32 fork emulation code exposed through threads.pm IO::Async::Routine and MooseX::Workers are both superior approaches on unix OSes and still noticeably simpler than gearman et. al. and so should be mentioned in SEE ALSO as preferred when not trapped on win32. -- Matt S Trout - Shadowcat Systems - Perl consulting with a commit bit and a clue http://shadowcat.co.uk/blog/matt-s-trout/ http://twitter.com/shadowcat_mst/ Email me now on mst (at) shadowcat.co.uk and let's chat about how our Catalyst commercial support, training and consultancy packages could help your team.
On Mon Sep 03 15:26:00 2012, mst@shadowcat.co.uk wrote: Show quoted text
> While your module looks potentially useful for windows users, on *n?x
type Show quoted text
> OSen fork() based approaches are far superior to abusing the win32
fork Show quoted text
> emulation code exposed through threads.pm
I wanted a solution that would work under Linux and Windows with little to no porting effort and little to no external dependencies outside of core. Show quoted text
> IO::Async::Routine and MooseX::Workers are both superior approaches on
unix Show quoted text
> OSes and still noticeably simpler than gearman et. al. and so should
be Show quoted text
> mentioned in SEE ALSO as preferred when not trapped on win32. >
I'll add these to my list of "similar projects", thanks for the suggestion! IO::Async doesn't fork / use threads does it? I need this pool of workers to be completely independent from each others main loops so if a long i/o or network poll 'hangs' the thread (which they do in my world, constantly) it doesn't stop the other workers - every async module I've used will 'pause' on a long polling task. MooseX::Workers does have the features I'd want, except for the MooseX layer! :) I need 1- no or very minor/limited dependencies and 2- cross- platform functionality, not necessarily the fastest process-creation- solution per platform.
added a reference to moosex::workers and io::async in POD ;)