NAME Job::Async - IO::Async abstraction for dispatching tasks to workers and receiving results DESCRIPTION More API details are in the respective base classes: * Job::Async::Client - queues jobs for workers to process * Job::Async::Worker - handles the job processing part Normally, clients and workers would be in separate processes, probably distributed across multiple servers. worker Attaches a Job::Async::Worker instance as a child of this manager object, and returns the new worker instance. Takes two parameters: * $type - used to select the worker class, e.g. memory or redis * $cfg - the configuration parameters to pass to the new worker, as a hashref Example: my $worker = $jobman->worker( redis => { uri => 'redis://server', mode => 'reliable' } ); $worker->start; $worker->jobs->each(sub { $_->done($_->data('x') . $_->data('y')) }); $worker->trigger; client Attaches a Job::Async::Client instance as a child of this manager object, and returns the new client instance. Takes two parameters: * $type - used to select the worker class, e.g. memory or redis * $cfg - the configuration parameters to pass to the new worker, as a hashref Example: print "Job result was " . $jobman->client( redis => { uri => 'redis://server', mode => 'reliable' } )->submit( x => 123, y => 456 )->get; SEE ALSO The main feature missing from the other alternatives is job completion notification - seems that "fire and forget" is a popular model. * Gearman - venerable contender for background job handling, usually database-backed * TheScwhartz - reliable job queuing, database-backed again * Minion - integrates with Mojolicious, normally seems to be used with a PostgreSQL backend. Has some useful routing and admin features. Does have some support for notification - see Minion::Notifier for example - but at the time of writing this came with significant overhead. * Mojo::Redis::Processor - a curious hybrid of Mojo::Redis2 and RedisDB, using pub/sub and a race on SETNX calls to handle multiple instances possibly trying to queue the same job at once. * Redis::JobQueue * Qless * Queue::Q * Vayne * Resque * Disque * Sque AUTHOR Tom Molesworth LICENSE Copyright Tom Molesworth 2015-2017. Licensed under the same terms as Perl itself.