148

GitHub - TIGERB/naruto: An object-oriented multi process manager for PHP

 6 years ago
source link: https://github.com/TIGERB/naruto
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
                       _        
                      | |       
_ __   __ _ _ __ _   _| |_ ___  
| '_ \ / _` | '__| | | | __/ _ \ 
| | | | (_| | |  | |_| | || (_) |
|_| |_|\__,_|_|   \__,_|\__\___/ .TIGERB.cn
			
An object-oriented multi process manager for PHP

Version: 0.5.0

demo

How to use?

Install

composer create-project tigerb/naruto naruto --prefer-dist && cd naruto

Business code

new Manager([], function (Process $worker) {
			// mock business logic
			(new Test())->businessLogic();
		}
	);

echo export NARUTO_PATH=$(pwd) >> ~/.profile && echo 'export PATH="$PATH:$NARUTO_PATH/bin"' >> ~/.profile && source ~/.profile

composer install

naruto start/reload/quit/stop

Manager process

  • start <worker-num> <passwd>: start the naruto
  • reload: gracefully quit&start the worker process
  • quit: gracefully exit
  • stop: forcefully exit

Specification

  • Implement a shell script to control the process
  • Implement a daemon for worker by the master
  • Optimize log
  • Use a lightweight Orm Metoo
  • Implement max execute times for the worker process
  • Add config file
  • Remove a lightweight Orm Metoo for keep lightweight @2019/03/23
  • Implement email send when the worker in a exception&error
  • Add config reload strategy

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK