English | 中文
composer require async-task/hermes
php vendor/async-task/Hermes/bin/hermes install
php bin/hermes start
APP_PATH/hermes_config.php
[
'server_type' => \Hermes\Core\HermesApplication::TASK_SERVER,
'server_setting' => [
'task_worker_num' => 4,
'worker_num' => 1,
'log_file' => '/tmp/swoole.log',
'log_level' => SWOOLE_LOG_NOTICE,
'daemonize' => 1,
'response_file' => '/tmp/response.log'
],
'server_event' => [
prometheus\util\AjaxHandler::class
],
'server_params' => [
'host'=>'127.0.0.1',
'port'=> 9501
],
];
server_type:
swoole server type,only support task sever
- \Hermes\Core\HermesApplication::TASK_SERVER
server_setting:
swoole setting
- task_worker_num,task worker num
- worker_num, worker num
- log_file, swoole log
- log_level, swoole log level
- daemonize, daemon or not
- response_file, response log
server_event:
async task event map,need to extend Hermes\TaskServer\Contract\TaskEvent,and rewrite class const EVENT_NAME(taskEvent name,required),EVENT_CALLBACK_METHOD_MAP(async task callback,non-required)
- class map
server_params:
swoole swoole server setting。depend on redis extension,only use the redis socket connect,notice the redis server is not a real redis server
- host,server host
- port, server port
php bin/hermes start start the server
php bin/hermes stop stop the server
php bin/hermes restart restart the server
$taskEvent = 'testEvent';//taskEvent name,that's the value of EVENT_NAME
$taskMethod = 'test';//taskEvent function name
$params = []; //taskEvent function params
Hermes\TaskServer\Task::async($taskEvent, $taskMethod, $params);