Home  >  Article  >  PHP Framework  >  How to implement scheduled tasks in swoole

How to implement scheduled tasks in swoole

WBOY
WBOYOriginal
2022-02-14 14:30:463185browse

Method: 1. Use the "swoole_timer_after (time, function to be executed)" statement to execute the task after the specified time; 2. Use the "swoole_timer_tick (time, function to be executed, callback function)" statement to set an interval The clock timer executes tasks regularly.

How to implement scheduled tasks in swoole

The operating environment of this tutorial: Windows10 system, Swoole4 version, DELL G3 computer

How to implement scheduled tasks with swoole

swoole_timer_after

Execute the function after the specified time, which requires swoole-1.7.7 or above.

swoole_timer_after(int $after_time_ms, mixed $callback_function);

The swoole_timer_after function is a one-time timer that will be destroyed after execution is completed. This function is different from the sleep function provided by the PHP standard library. After is non-blocking. After the sleep call is made, the current process will be blocked and will not be able to handle new requests.

  • $after_time_ms specifies the time in milliseconds

  • $callback_function The function executed after the time expires must be callable. The callback function does not accept any parameters

  • $after_time_ms must not exceed 86400000

Usage example

swoole_timer_after(1000, function(){
    echo "timeout\n";
});

swoole_timer_tick

Set an interval clock timer. Unlike the after timer, the tick timer will continue to trigger until it is cleared by calling swoole_timer_clear. Different from swoole_timer_add, the tick timer can have multiple timers with the same interval.

int swoole_timer_tick(int $ms, mixed $callback, mixed $param = null);
  • $ms Specifies the time in milliseconds

  • $callback_function The function executed after the time expires must be callable. The callback function does not accept any parameters

  • $param callback parameters

  • $ms The maximum value shall not exceed 86400000

Tick timer is available in version 1.7.14 or above

Tick timer will soon replace swoole_timer_add

Callback function

The callback function triggered by the timer accepts 2 parameters.

function onTimer(int $timer_id, mixed $params = null);
  • $timer_id The ID of the timer, which can be used to swoole_timer_clear to clear this timer

  • $params User parameters passed in by swoole_timer_tick

Usage examples

swoole_timer_tick(1000, function(){
    echo "timeout\n";
});

Recommended learning: swoole tutorial

The above is the detailed content of How to implement scheduled tasks in swoole. For more information, please follow other related articles on the PHP Chinese website!

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