如何从Perl CGI应用程序安排一次性任务?

时间:2009-06-03 01:59:59

标签: perl cgi scheduling at-job

我正在编写一个应用程序,允许用户从Web应用程序(Linux / Apache / CGI :: Application)安排一次性长时间运行的任务。为此,我使用Schedule::At模块,它是“at”命令的Perl接口。由于计划的任务不重复,我不考虑“cron”。我在“at”有两个问题:

  1. 当我的CGI应用程序在suexec包装器下运行时,调度工作正常,但在Apache进程的所有者调度时则不行。如何让调度在两种环境中工作(suexec和no-suexec)?
  2. 似乎“at”或Schedule :: At安排的进程没有失败报告,我有时会发现计划任务无提示失败。有没有办法记录计划任务(而不是调度程序本身)无法运行的事实?
  3. 我没有修复“at”,如果有的话,我可以使用其他更强大的调度方法。

    感谢您的关注。

1 个答案:

答案 0 :(得分:5)

我听说过有关The Schwartz的好消息。它没有延迟 - 直到;您可以通过at提交作业,但这应该可以解决您在上面列出的两个问题,只要您的submit_job脚本很简单。

(作为一个警告,我只使用Gearman,我认为你需要一个可靠的工作队列,这是一个“一劳永逸”的机制,所以你可以保持你的submit_job愚蠢。)< / p>