Skip to content

Hetystars/hermes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 中文

Async Task In FPM

Php Version Swoole Version Hermes License

Instructions

Requirement

Quick Start

composer require async-task/hermes
php vendor/async-task/Hermes/bin/hermes install
php bin/hermes start

Configuration Instruction

Configuration File

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 
            ],
  ];

Configuration Params Detail

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

Command

php bin/hermes start  start the server
php bin/hermes stop   stop the server
php bin/hermes restart  restart the server

Start Async Task

$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);

About

fpm asynctask based swoole

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages