I have an application that works as follows: Linux machines generate 28 different types of letter to customers. The letters must be sent in .docx (Microsoft Word format). A secretary maintains MS Word templates, which are automatically used as necessary. Changing from using MS Word is not an option.

To coordinate all this, document jobs are placed into a database table and a python program running on each of the windows machines polls the database frequently, locking out jobs and running them as necessary.

We use a central database table for the job information to coordinate different states ("new", "processing", "finished", "printed")... as well to give accurate status information.

Anyway, I don't like the clients polling the database frequently, seeing as they aren't working most of the time. Clients hpoll every 5 seconds.

To avoid polling, I kind of want a broadcast "there's some work to do" or "check your database for some work to do" message sent to all the client machines. 

I think some kind of publish/subscribe message queue would be up to the job, but I don't want any massive extra complexity.

Is there a zero or near zero config/maintenance piece of software that would achieve this? What are the options?

X