This article mainly introduces the solution to the PHP scheduled sending service. Friends who need it can refer to it
##1. Timed sending task analysis
When developing mobile APP or WeChat, there are often scenarios where messages need to be pushed regularly.Scheduled sending is divided into two types:
One is to fix the time during development, and the background manager can only choose the messages to be pushed;The other is that the background administrator can freely choose the time and message to push;
2. Solution
PHP itself is Scheduled sending is not supported because PHP is a scripting language. In most cases, the browser is closed and PHP will not execute. Most of the time it relies on some little external thing.1. Fixed time
Most server systems are windows or linux. Linux: Use CronTab to execute php regularly First, enter the command line mode. As a server, Linux generally enters the command line mode by default. Of course, our management server also generally connects to the server remotely through tools such as putty. For convenience, we log in as the root user. Type in the command line:crontab -e
00 * * * * lynx -dump https://www.yourdomain.com/script.php
00 * * * *
'' wealth Numbers ’ means every 8 minutes | The following is also the same analogy
」 iety The column represents the month 1~12 credulous , The fifth column identifies the day of the week 0~6 (0 represents Sunday]
ccogate us us in the identification number of the week 0~6 (0 represents Sunday)
The last part of the entire sentence is the specific content of the operation.
lynx -dump https://www.yourdomain.com/script.php
It means accessing this url through lynx. We mainly use lynx, curl, and wget to achieve remote access to URLs. If we want to improve efficiency, directly using PHP to execute local PHP files is the best choice, for example:
00 */2 * * * /usr/local/bin/php /home/www/script.php
This statement can execute script.php through the Linux internal php environment at 0 minutes every 2 hours. Note that this is not accessed through the url, but executed through the server environment. It is executed directly, because it bypasses the server environment, so the efficiency is of course much higher.
Okay, a few required scheduled tasks have been added. Click the Esc key on the keyboard, enter ":wq" and press Enter. This saves the set scheduled task, and you can also see a prompt on the screen that a new scheduled task has been created. The next step is to write your script.php properly.
Windows:
There is a similar cmd and bat file on Windows and Linux. The bat file is similar to a shell file. Executing this bat file is equivalent to executing the commands inside in sequence (of course, you can also Programming is implemented through logic), so we can use the bat command file to implement PHP scheduled tasks on the windows server. In fact, the principle of scheduled tasks on Windows is the same as that on Linux, but the methods and approaches are different. Okay, let’s get started.
cessoverly\/
#D:\php\php.exe -q D:\website\test.php
What this sentence means is that using php.exe to execute the php file test.php is the same as the contab above, bypassing the server environment, and the execution efficiency is also relatively high high. After writing, click Save and close the editor.
The next step is to set up a scheduled task to run cron.bat. Open in sequence: "Start -> Control Panel -> Task Schedule -> Add Task Schedule", set the time and password of the scheduled task in the opened interface, and mount cron.bat by selecting it. OK, in this way, a scheduled task is created. Right-click on the scheduled task and run. The scheduled task will start to be executed. When the time is up, cron.bat will be run for processing, and cron.bat will execute php.
2. Freely choose the time
The commonly used blogging system wordpress has a wp-corn file to perform scheduled posting of blogs. The blogger uses wp-corn as the prototype to write a file.
wp-corn is a strategy that consumes server resources very much. When everyone visits the blog, the wp-corn file will be called (read the current server time and determine whether to send it). The disadvantage is that it cannot be sent in time when the number of visitors is relatively small. If there are too many visitors, the server performance will be reduced.
When the blogger was working on the project, the company provided a windows server. The method used is to open a page on the server and automatically refresh it every minute (simple js script, no code is provided).
The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!
Related recommendations:
PHP’s predefined interface analysis
# #
The above is the detailed content of How to solve the problem of PHP scheduled sending service. For more information, please follow other related articles on the PHP Chinese website!