Job::Machine update


Job::Machine will use Data::Serializer (and Data::Serializer::Sereal as default) in the future.
Job::Machine  is a job queue handler written in Perl and using PostgreSQL. It is fairly standard, with a client part, and a worker to do the actual work. More workers can be started in order to speed up execution. The result, if it's a success or a failure, of the process is stored in the, together with any output, for the user of the application to check or use.

The twist that made me write this module is that it uses the messaging capability of PostgreSQL to notify the worker of new jobs. This means that you don't need to poll the database for new jobs, or set up a different notification server. If you use PostgreSQL, it's already there. This means that there's really no latency between the client and the worker; the worker will start immediately, providing it isn't busy with other duties.

Up until now, it was using JSON for serializing to the database. But things chage, new development happens, and I think it's time to use Sereal for my personal use. Now, to be able to use existing systems where the jobs are stored in JSON, the easiest way is to make it customizable through Data::Serializer.

So that's what I've done, and the future default is Sereal, starting from version 0.21. I will use this in Djet.

Comments

Fields in bold are mandatory
Name
Email Address
Subject
Comment