我需要每15次运行一次自动化任务。我的服务器(称为服务器A,Ubuntu 10.04 LAMP)的任务是查询另一台服务器(服务器B)的更新。
我有多个用户要查询,可能是14个(或更多)用户。截至目前,脚本是用PHP编写的。他们执行以下操作:
我知道 cron jobs 可能是要走的路,但可能会有一个场景,我可能会为每个用户提供一个cron作业。这合理吗?或者我应该强制它成为所有用户查询数据的一个cron作业吗?
此外,我正在查询的服务器有一个java api,我可以使用它来查询它。这意味着我可以开发一个java servlet来做同样的事情。我在使用这种方法时遇到了麻烦,但如果这是可行的方法,我正在寻找反馈。我对Tomcat并不熟悉,但我还没有完全理解它。
总结:我需要服务器每15分钟自动运行一次任务,从另一台服务器请求数据,更新其数据库,然后向用户发送提示。什么是推荐的方法?
感谢您的帮助!
答案 0 :(得分:0)
创建一个由cron触发的脚本,它循环遍历每个用户并为每个用户执行所有三个步骤:伪代码:
query for list of users from local DB;
foreach(users as user){
check for updates;
if(updates){
update db;
email user;
}
}
如果你有很多用户或者API很慢,你要么想要设置一个长脚本超时(ini_set),要么你可以添加一个TIMESTAMP DB列“LastUpdateCheck”并更频繁地运行cron(每30个秒?)但是将更新/ API查询限制为每个实例的一个或两个用户(具有最早更新时间的用户)