目前,我正在尝试构建一个良好的调度程序系统作为在我的系统上设置和编辑cron作业的接口。我的系统是在Linux服务器上使用Zend框架1.11.11构建的。
我有两个主要问题需要您的建议:
问题1:应用程序本身的设置
我有两种运行cron作业的方式:
第一种方法是创建一个名为
scripts
的文件夹,并在其中创建一个公共引导文件,在其中只加载我需要的资源。然后,对于每个任务,我将创建一个单独的脚本,并在每个脚本中包含引导文件。最后,我将为这些脚本中的每一个添加一个cron任务,任务类似于***** php /path/to/scripts/folder/cronScript_1.php
。其次,将cron作业视为普通请求(没有特殊引导)。为这些脚本中的每一个添加一个cron任务,任务类似于
***** curl http://www.mydomain.com/module/controller/action
。
问题2:应用程序的界面
添加cron作业也可以有两种方式:
对于每个任务,在crontab文件中都会有一个条目。当我想要添加新任务时,必须通过cPanel或其他手段来编辑crontab(可能不可用)。
将任务存储在数据库中,并提供一个UI来与数据库交互(网格以添加几个任务和配置)。之后,在crontab文件中只编写1个每分钟运行一次的cron作业。此作业将从数据库中选择所有作业,并检查是否有应该立即运行的作业(任务的时间将被存储并与服务器当前时间进行比较)。
在您看来,每个部分实现哪种方式更好?是否有更好的通用解决方案?
注意
我在搜索现成的解决方案时发现了Quartz。这是我正在寻找的还是完全不同的东西?
谢谢。