简体   繁体   中英

multiple automated tasks to run ubuntu 10.04 server

I need to run automated tasks every 15. The tasks is for my server (call it server A, Ubuntu 10.04 LAMP) to query for updates to another server (Server B).

I have multiple users to query for, possibly 14 (or more) users. As of now, the scripts are written in PHP. They do the following:

  1. request Server B for updates on users
  2. If Server B says there are updates, then Server A retrieves the updates
  3. In Server A, update DB with the new data for the users in
  4. run calculations in server A
  5. send prompts to users that I received data updates from.

I know cron jobs might be the way to go, but there could be a scenario where I might have a cron job for every user. Is that reasonable? Or should I force it to be one cron job querying data for all my users?

Also, the server I'm querying has a java api that I can use to query it. Which means I could develop a java servlet to do the same. I've had trouble with this approach but I'm looking for feedback if this is the way to go. I'm not familiar with Tomcat and I don't fully understand it yet.

Summary: I need my server to run tasks automatically every 15 mins, the requests data from another server, updates its DB and then send prompts to users. What's are recommended approaches?

Thanks for your help!

Create a single script, triggered by cron, that loops through each user and takes all three steps for each user: Pseudo code:

query for list of users from local DB;
foreach(users as user){
   check for updates;
   if(updates){
      update db;
      email user;
   }
}

If you have a lot of users or the API is slow, you'll either want to set a long script timeout (ini_set) or you could add a TIMESTAMP DB column "LastUpdateCheck" and run the cron more often (every 30 seconds?) but limiting the update/API query to one or two users per instance (those with the oldest update times)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM