一、首先經過 composer 安裝workerman,在thinkphp5徹底開發手冊的擴展-》coposer包-》workerman有詳細說明:php
#在項目根目錄執行如下指令
composer require topthink/think-worker
2.在項目根目錄建立服務啓動文件 server.php:thinkphp
<?php define('APP_PATH', __DIR__ . '/application/'); define("BIND_MODULE", "server/Worker"); // 加載框架引導文件 require __DIR__ . '/thinkphp/start.php';
三、在application裏建立server模塊,並在server裏建立控制器 Worker.php:app
<?php namespace app\server\controller; use think\worker\Server; class Worker extends Server { protected $processes=1; public function onWorkerStart($work) { $handle=new Index(); $handle->add_timer(); } }
4.建立Index.php類.定義一個每秒鐘執行一次的定時器,在定時器裏增長條件判斷,噹噹前時間等於要執行的時間時,就執行此任務composer
<?php namespace app\server\controller; use Workerman\Lib\Timer; class Index { public function add_timer(){ Timer::add(1, array($this, 'index'), array(), true); } public function index(){ //天天0點執行任務 if(time()/86400===0){ echo date("Y-m-d H:i:s"); } //天天8點執行任務 if(time()/86400===28800){ echo date("Y-m-d H:i:s"); } }
五、啓動服務 php server.php start -d框架