views:

52

answers:

1

From what I can see Gearman does not support scheduled jobs or delayed jobs. I was thinking that perhaps the scheduled job could be queued in at first and then added to the Gearman queue after the at time period has expired.

at tasks are persistent as they are written as files to a directory in the spool directory of the server. So the only bottle neck would potentially be a simple script to add the task to the Gearman queue because at can't be distributed across servers. Passing it to Gearman to process the actual job means I can get proper job logging etc.

Is this the best way to approach this and do you have any alternative ideas?

The reason I have opted for Gearman over other queue solutions is that it has a PHP extension.

The code I am writing is used to maintain a queue of emails that need to be sent out. So I may specify that I want to send an email to [email protected] at 9.50 on friday for example.

A: 

I have decided to go the at route as originally laid out in my question. For the purpose I have written a little PHP wrapper for the at binary and tested it on Ubuntu. If you are interested it can be found on github: http://github.com/treffynnon/PHP-at-Job-Queue-Wrapper

Treffynnon