Home >Backend Development >PHP Tutorial >PHP executes scheduled tasks_PHP tutorial

PHP executes scheduled tasks_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:47:09951browse

To implement a daemon process under a Linux terminal, you can use crontab to schedule PHP script execution.

The function of the crontab command is to schedule the execution of some commands at certain intervals.

How to use crontab: crontab [ -e | -l | -r ] file name -e: edit task -l: display task information -r: delete scheduled execution task information

The format of crontab:
* * * * * Command
Minute Hour Day Month Week Command to run

"*" represents all numbers within the value range, "/" represents every, "*/5" represents every 5 units, "-" represents from a certain number to a certain number, "," means how many units to separate. a discrete number.


1. Edit directly with crontab command

crontab can implement scheduled tasks for users

crontab -u //Set the cron service of a certain user. Generally, the root user needs this parameter when executing this command

crontab -l //List the details of a user's cron service

crontab -r //Delete a user's cron service

crontab -e //Edit a user's cron service

For example, root checks his own cron settings: crontab -u root -l

For another example, root wants to delete fred's cron settings: crontab -u fred -r

When editing the cron service, edit the cron settings of the root user and enter: crontab -u root -e to enter vi editing mode. The format of the edited content is: * * * * * command

For example, we want to perform a task now:

The task requirement is to execute the PHP script every one minute and record the execution time and save it to result.log.

start.php:

#!/usr/bin/php

file_put_contents('result.log','Current running time:'.date("Y-m-d",time())."/r/n", FILE_APPEND);

shell.sh:

#!/bin/sh

php start.php

Terminal:

crontab -u root -e

#Enter vim editing mode:

*/1 * * * * shell.sh

:wqExit and save

www.2cto.com

In addition, in the WEB page, if the Client is disconnected (such as closing the browser), the PHP script can continue to execute.

The ignore_user_abort() function can be used with set_time_limit(0) and sleep($interval) to implement the program

ignore_user_abort(); //Even if the Client is disconnected (such as closing the browser), the PHP script can continue to execute.
set_time_limit(0); // The execution time is unlimited. The default execution time of PHP is 30 seconds. Through set_time_limit(0), the program can be executed without limit
$interval=60*5; // Run every 5 minutes
do{
$fp = fopen('test.txt','a');
fwrite($fp,'test');
fclose($fp);
sleep($interval); // Wait 5 minutes
}while(true);
?>
ignore_user_abort(); //Even if the Client is disconnected (such as closing the browser), the PHP script can continue to execute.
set_time_limit(0); // The execution time is unlimited. The default execution time of PHP is 30 seconds. Through set_time_limit(0), the program can be executed without limit
$interval=60*5; //Run every 5 minutes
do{
$fp = fopen('test.txt','a');
fwrite($fp,'test');
fclose($fp);
sleep($interval); // Wait 5 minutes
}while(true);
?>

Just run the page above and then close it, and the program will keep running.

Excerpted from God's blog

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/478519.htmlTechArticleTo implement the daemon process under the Linux terminal, you can use crontab to plan PHP script execution. The function of the crontab command is to schedule the execution of some commands at certain intervals. crontab uses...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn