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.
Abilities specify what jobs a worker process can perform. Abilities are the names of 'TheSchwartz::Worker' sub-classes, 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.
TheSchwartz 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.
Some jobs with high setup 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.
Package Version | Update ID | Released | Package Hub Version | Platforms | Subpackages |
---|---|---|---|---|---|
1.17-bp156.2.1 info | GA Release | 2023-07-22 | 15 SP6 |
|
|
1.17-bp155.1.4 info | GA Release | 2023-05-17 | 15 SP5 |
|
|
1.16-bp154.1.12 info | GA Release | 2022-05-09 | 15 SP4 |
|
|
1.12-bp153.1.12 info | GA Release | 2021-03-06 | 15 SP3 |
|
|
1.12-bp152.3.11 info | GA Release | 2020-04-17 | 15 SP2 |
|
|
1.12-bp151.3.1 info | GA Release | 2019-07-17 | 15 SP1 |
|
|
1.12-bp151.2.10 info | GA Release | 2019-05-18 | 15 SP1 |
|
|
1.12-bp150.2.4 info | GA Release | 2018-07-30 | 15 |
|
|