6

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

  1. 当我的 CGI 应用程序在 suexec 包装器下运行时,调度工作正常,但在由 Apache 进程的所有者调度时却不行。如何让调度在两种环境(suexec 和 no-suexec)中工作?
  2. 似乎由“at”或Schedule::At 安排的进程没有失败报告,我有时会发现安排的任务会默默地失败。有没有办法记录计划任务(而不是计划程序本身)未能运行的事实?

我并不固定在“at”上,并且愿意使用其他更强大的调度方法(如果有的话)。

感谢您的关注。

4

1 回答 1

5

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

(作为警告,我只使用过Gearman,我认为您需要一个可靠的作业队列,一种“即发即弃”机制,这样您就可以保持您的 submit_job 愚蠢。)

于 2009-06-03T02:30:35.333 回答