我需要每 15 次运行一次自动化任务。这些任务是针对我的服务器(称为服务器 A,Ubuntu 10.04 LAMP(查询另一台服务器(服务器 B(的更新。
我有多个用户要查询,可能有 14 个(或更多(用户。截至目前,脚本是用PHP编写的。它们执行以下操作:
- 请求服务器 B 以获取有关用户的更新
- 如果服务器 B 说有更新,则服务器 A 检索更新
- 在服务器 A 中,使用中用户的新数据更新数据库
- 在服务器 A 中运行计算
- 向我收到数据更新的用户发送提示。
我知道 cron 作业可能是要走的路,但在某些情况下,我可能会为每个用户提供一个 cron 作业。这合理吗?还是我应该强制它是一个为所有用户查询数据的 cron 作业?
此外,我正在查询的服务器有一个 java api,我可以用来查询它。这意味着我可以开发一个java servlet来做同样的事情。我在这种方法上遇到了麻烦,但如果这是要走的路,我正在寻找反馈。我对雄猫不熟悉,还不完全理解它。
摘要:我需要我的服务器每 15 分钟自动运行一次任务,从另一台服务器请求数据,更新其数据库,然后向用户发送提示。推荐的方法是什么?
感谢您的帮助!
创建一个由 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 查询限制为每个实例一个或两个用户(更新时间最旧的用户(