• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

bin/H30-Mar-2015-311225

doc/H03-May-2022-12086

extras/H03-May-2022-342236

lib/H30-Mar-2015-2,1581,124

server/H30-Mar-2015-306240

t/H30-Mar-2015-2,5001,954

xt/H30-Mar-2015-7558

Build.PLH A D30-Mar-20151.3 KiB4743

CHANGESH A D30-Mar-20152 KiB5746

MANIFESTH A D30-Mar-20151.1 KiB5958

MANIFEST.SKIPH A D30-Mar-2015638 5647

META.ymlH A D30-Mar-2015961 4241

README.mdH A D30-Mar-20152.3 KiB4426

perltidyrcH A D30-Mar-2015630 1715

README.md

1TheSchwartz
2=============
3
4**TheSchwartz** is a reliable job queue system. Your application can put jobs into the system, and your worker processes can pull jobs from the queue atomically to perform. Failed jobs can be left in the queue to retry later.
5
6**Abilities** specify what jobs a worker process can perform. Abilities are the names of *TheSchwartz::Worker* subclasses, as in the synopsis: the *MyWorker* class name is used to specify that the worker script can perform the job. When using the *TheSchwartz* client's *work* functions, the class-ability duality is used to automatically dispatch to the proper class to do the actual work.
7
8TheSchwartz clients will also prefer to do jobs for unused abilities before reusing a particular ability, to avoid exhausting the supply of one kind of job while jobs of other types stack up.
9
10Some jobs with high set-up times can be performed more efficiently if a group of related jobs are performed together. TheSchwartz offers a facility to **coalesce** jobs into groups, which a properly constructed worker can find and perform at once. For example, if your worker were delivering email, you might store the domain name from the recipient's address as the coalescing value. The worker that grabs that job could then batch deliver all the mail for that domain once it connects to that domain's mail server.
11
12INSTALLATION
13------------
14
15Just follow the usual procedure:
16
17    perl Build.PL
18    ./Build
19    ./Build test
20    ./Build install
21
22If you want to install a private copy of this module-suite in your home directory, then you should try to produce the initial Makefile with something like this command:
23
24    perl Build.PL PREFIX=~/perl
25
26See perldoc perlmodinstall for more information on installing modules.
27
28SUPPORT
29-------
30
31Just follow the usual procedure:
32
33    perl Build.PL
34    ./Build
35
36Questions, bug reports, useful code bits, and suggestions for this module should just be sent to JFEARN@cpan.org or open a ticket in the [CPAN RT](https://rt.cpan.org//Dist/Display.html?Queue=TheSchwartz)
37
38AVAILABILITY
39-------
40The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN).  Visit (http://www.perl.com/CPAN/) to find a CPAN site near you.
41
42The source is available on github (https://github.com/jfearn/TheSchwartz), patches should be sent as pull requests against this repository.
43
44