1. Go to this page and download the library: Download jeruier/swozr-taskr library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace app\commands;
use yii\console\Controller;
class TaskrController extends Controller
{
private $taskr;
public function init()
{
parent::init(); // TODO: Change the autogenerated stub
$this->taskr = Yii::$app->taskr;
}
/**
* start taskr server
*/
public function actionStart()
{
$this->taskr->start();
}
/**
* stop taskr server
*/
public function actionStop()
{
$this->taskr->stop();
}
/**
* taskr server status
*/
public function actionStatus()
{
$this->taskr->status();
}
/**
* @param $type 当为-o则只reload task worker进程,默认重启所有
* reload taskr server
*/
public function actionReload($type = '')
{
$onlyTaskWorker = '-o' == $type ? true : false;
$this->taskr->reload();
}
/**
* restart taskr server
*/
public function actionRestart()
{
$this->taskr->restart();
}
}
namespace app\commands;
use yii\console\Controller;
use Swozr\Taskr\Server\TaskrEngine;
class TaskrController extends Controller
{
private $taskr;
public function init()
{
parent::init(); // TODO: Change the autogenerated stub
$this->taskr = new TaskrEngine([
'host' => '0.0.0.0',
'port' => '9501',
'pidName' => 'swozr-taskr',
'MQProcessMum' => 1,
'debug' => true,
'setting' => [
'worker_num' => 1,
'task_worker_num' => 2,
'daemonize' => false
],
'exceptionHandler' => [
\Swozr\Taskr\Server\Exception\TaskException::class => \SwozrTest\Taskr\Server\ExceptionHandler\TaskExceptionHandler::class
],
'crontabs' => [
\SwozrTest\Taskr\Server\Tasks\TaskHandleTest::class
],
'listener' => [
\Swozr\Taskr\Server\Event\ServerEvent::TASK_PUSHED => \SwozrTest\Taskr\Server\Listener\TestHandleListener::class,
\Swozr\Taskr\Server\Event\ServerEvent::TASK_CONSUME => \SwozrTest\Taskr\Server\Listener\TestHandleListener::class
],
'rabbmitMqs' => [
'class' => \SwozrTest\Taskr\Server\Tasks\TaskHandleTest::class,
'host' => '192.168.99.100',
'exchange_name' => 'a',
'queue_name' => 'a',
'routing_key' => 'c',
],
]);
}
/**
* start taskr server
*/
public function actionStart()
{
$this->taskr->start();
}
/**
* stop taskr server
*/
public function actionStop()
{
$this->taskr->stop();
}
/**
* taskr server status
*/
public function actionStatus()
{
$this->taskr->status();
}
/**
* @param $type 当为-o则只reload task worker进程,默认重启所有
* reload taskr server
*/
public function actionReload($type = '')
{
$onlyTaskWorker = '-o' == $type ? true : false;
$this->taskr->reload();
}
/**
* restart taskr server
*/
public function actionRestart()
{
$this->taskr->restart();
}
}