workerman定時器使用 php定時任務

2022-05-04 02:21:09 字數 3278 閱讀 8491

add

int \workerman\lib\timer::add(float $time_interval, callable $callback [,$args = array(), bool $persistent = true])

定時執行某個函式或者類方法

引數time_interval

多長時間執行一次,單位秒,支援小數,可以精確到0.001,即精確到毫秒級別。

callback

**函式注意:如果**函式是類的方法,則方法必須是public屬性

args

**函式的引數,必須為陣列,陣列元素為引數值

persistent

是否是持久的,如果只想定時執行一次,則傳遞false(只執行一次的任務在執行完畢後會自動銷毀,不必呼叫timer::del())。預設是true,即一直定時執行。

返回值返回乙個整數,代表計時器的timerid,可以通過呼叫timer::del($timerid)銷毀這個計時器。

示例1、定時函式為匿名函式(閉包)

use \workerman\worker;

use \workerman\lib\timer;

require_once './workerman/autoloader.php';

$task = new worker();

// 開啟多少個程序執行定時任務,注意多程序併發問題

$task->count = 1;

$task->onworkerstart = function($task)

);};

// 執行worker

worker::runall();

2、定時函式為普通函式

require_once './workerman/autoloader.php';

use \workerman\worker;

use \workerman\lib\timer;

// 普通的函式

function send_mail($to, $content)

$task = new worker();

$task->onworkerstart = function($task)

;// 執行worker

worker::runall();

3、定時函式為類的方法

require_once './workerman/autoloader.php';

use \workerman\worker;

use \workerman\lib\timer;

class mail

}$task = new worker();

$task->onworkerstart = function($task)

;// 執行worker

worker::runall();

4、定時函式為類方法(類內部使用定時器)

require_once './workerman/autoloader.php';

use \workerman\worker;

use \workerman\lib\timer;

class mail

public function sendlater($to, $content)

}$task = new worker();

$task->onworkerstart = function($task)

;// 執行worker

worker::runall();

5、定時函式為類的靜態方法

require_once './workerman/autoloader.php';

use \workerman\worker;

use \workerman\lib\timer;

class mail

}$task = new worker();

$task->onworkerstart = function($task)

;// 執行worker

worker::runall();

6、定時函式為類的靜態方法(帶命名空間)

namespace task;

require_once './workerman/autoloader.php';

use \workerman\worker;

use \workerman\lib\timer;

class mail

}$task = new worker();

$task->onworkerstart = function($task)

;// 執行worker

worker::runall();

7、定時器中銷毀當前定時器(use閉包方式傳遞$timer_id)

use \workerman\worker;

use \workerman\lib\timer;

require_once './workerman/autoloader.php';

$task = new worker();

$task->onworkerstart = function($task)

});};// 執行worker

worker::runall();

8、定時器中銷毀當前定時器(引數方式傳遞$timer_id)

require_once './workerman/autoloader.php';

use \workerman\worker;

use \workerman\lib\timer;

class mail

...\n";

if($this->count++ >= 10)

}}$task = new worker();

$task->onworkerstart = function($task)

;// 執行worker

worker::runall();

9、只在指定程序中設定定時器

乙個worker例項有4個程序,只在id編號為0的程序上設定定時器。

use workerman\worker;

use workerman\lib\timer;

require_once './workerman/autoloader.php';

$worker = new worker();

$worker->count = 4;

$worker->onworkerstart = function($worker)

); }

};// 執行worker

worker::runall();

定時器使用

dword winapi checksendinfovector lpvoid lpparameter return 0 void callback dotimer hwnd hwnd,uint umsg,uint ptr idevent,dword dwtime timerproc的引數hwnd是...

Delphi Timer定時器使用

timer定時器是乙個非視覺化元件,能夠定時觸發ontimer事件,完成模擬時鐘 系統延時 倒計時等工作。在system選項卡中。1 timer的主要屬性 1 enabled屬性 當值為true時,開啟定時器,否則關閉定時器。預設值為true。2 interval屬性 控制ontimer事件觸發的時...

workman定時器使用

workerman 定時器例子,可單獨使用,稍加改善可以開啟乙個守護程序,用來做一些定時發布等等類似的任務,使用方便,不需要額外的擴充套件或者類似 crontab 等工具。以下是測試程式 php view plain copy use workerman autoloader use workerm...