addint \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...