SkillAgentSearch skills...

Naruto

An object-oriented multi process manager for PHP :robot:

Install / Use

/learn @TIGERB/Naruto
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

                       _        
                      | |       
_ __   __ _ _ __ _   _| |_ ___  
| '_ \ / _` | '__| | | | __/ _ \ 
| | | | (_| | |  | |_| | || (_) |
|_| |_|\__,_|_|   \__,_|\__\___/ .TIGERB.cn
			
An object-oriented multi process manager for PHP

Version: 0.5.0

<p align="center"> <a href="http://naruto.tigerb.cn/"><img src="https://img.shields.io/badge/os-Linux%26Darwin-blue.svg" alt="OS"></a> </p> <p align="center"> <a href="http://naruto.tigerb.cn/"><img width="30%" src="http://blog-1251019962.cos.ap-beijing.myqcloud.com/qiniu_img_2022/wechat-blog-qrcode.jpg?imageMogr2/thumbnail/260x260!/format/webp/blur/1x0/quality/90|imageslim"></a> </p>

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();
		}
	);

Run

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

TODO

  • [x] Implement a shell script to control the process
  • [x] Implement a daemon for worker by the master
  • [x] Optimize log
  • [x] Use a lightweight Orm Metoo
  • [x] Implement max execute times for the worker process
  • [x] Add config file
  • [x] 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

Related Skills

View on GitHub
GitHub Stars143
CategoryDevelopment
Updated1mo ago
Forks33

Languages

PHP

Security Score

100/100

Audited on Feb 20, 2026

No findings