Have you ever seen (or played) one of those "Browser Games" where you build stuff, create armies and fight other players? Right now I need to know how to do those scheduled tasks...

I'm building a PHP appilcation for my job. I work at a visitors center and I want to create an application where you can add visits and let a worker to "add himself" to the shift. The server should perform some automated tasks like finishing the "registration" period for a shift and deleting or archiving a Visit after it has ocurred.

Would you mind pointing out how to do that with PHP?

P.S.: If there is an open source application similar to mine out there, I could use a link to it :cheesy:

You have two choices:

  • Set up a cron job for the routine script
  • Call the routine on a common page (like index.php), save a time when it's executed and check against that so you can limit the execution times

The cron job option seems to make more sense.

a cron job would be the ideal case, check with your host to see if they allow them.

You have two choices:

  • Set up a cron job for the routine script
  • Call the routine on a common page (like index.php), save a time when it's executed and check against that so you can limit the execution times

The cron job option seems to make more sense.

If you want to call the routine job from a webpage, try this method I've blogged about: http://fijiwebdesign.com/content/view/86/77/


It allows you to set the job without delaying the sending of the web page to the user. Thus your job can go on for minutes or even hours (if your server allows it) and the user had no idea they initiated a routine job on your server.

If you want to call the routine job from a webpage, try this method I've blogged about: http://fijiwebdesign.com/content/view/86/77/


It allows you to set the job without delaying the sending of the web page to the user. Thus your job can go on for minutes or even hours (if your server allows it) and the user had no idea they initiated a routine job on your server.

Nice article. I didn't know about a possibility of performing tasks after rendering the page. Just got up and already learned something. Thanks. :D

I got a question though about the first method of using exec. Wouldn't it be a better idea to use the php CLI as opposed to wget? I mean the CLI version overrides the max_execution_time to unlimited while running it with wget it falls under the restriction (unless you set it in your script).

If you want to call the routine job from a webpage, try this method I've blogged about: http://fijiwebdesign.com/content/view/86/77/


It allows you to set the job without delaying the sending of the web page to the user. Thus your job can go on for minutes or even hours (if your server allows it) and the user had no idea they initiated a routine job on your server.

why not just use

exec( 'php /home/username/routine_task.php > /home/username/routine_task.log &' );

using php allows you the ability to keep the code away from website so the code is not public (ie there is no need to place it in the public_html folder, it can be placed anywhere). No one will ever see, and you don't need any ie hacks.

Also since everything is now only related to your cron job why port everything to /dev/null ? I would recommend porting everything to say routine_task.log that way every day there is a log (that is overwritten so it will never grow to large in terms of the number of logs) of any errors that occurred on that script allowing you to fix any mistakes.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.