Php 运行ubuntu 10.04服务器的多个自动化任务
我需要每15分钟运行一次自动任务。任务是让我的服务器(称之为服务器A,Ubuntu 10.04 LAMP)查询另一台服务器(服务器B)的更新 我要查询多个用户,可能有14个(或更多)用户。到目前为止,脚本是用PHP编写的。他们的工作如下:Php 运行ubuntu 10.04服务器的多个自动化任务,php,mysql,cron,ubuntu-server,Php,Mysql,Cron,Ubuntu Server,我需要每15分钟运行一次自动任务。任务是让我的服务器(称之为服务器A,Ubuntu 10.04 LAMP)查询另一台服务器(服务器B)的更新 我要查询多个用户,可能有14个(或更多)用户。到目前为止,脚本是用PHP编写的。他们的工作如下: 请求服务器B更新用户 如果服务器B说有更新,则服务器A检索更新 在服务器A中,使用中用户的新数据更新数据库 在服务器A中运行计算 向我从中接收数据更新的用户发送提示 我知道cron-jobs可能是一条出路,但可能会出现这样的情况,即我可能会为每个用户提供一个c
谢谢你的帮助 创建一个由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),或者可以添加一个时间戳DB列“LastUpdateCheck”,并更频繁地运行cron(每30秒一次),但将更新/API查询限制为每个实例一个或两个用户(更新时间最早的用户)每个用户不需要一个cron作业,如果您正确优化代码,1或2个cron作业可以完成任务,或者如果您控制服务器B,最好使用消息队列,如
german
或beanstalkd
,为什么不将cron作业放在服务器B上,让它直接将更新推送到服务器A的DB中并提醒用户?让服务器“询问”似乎是不必要的step@Baba我不熟悉消息队列[德语]。你能分享一些关于它的信息吗?@BenD不控制服务器B,我只能用Apise文档从它查询数据。。最后有一个很好的PHP
示例。。。如果你需要更多的帮助,请告诉我