naruto

by TIGERB

TIGERB / naruto

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

129 Stars 30 Forks Last release: over 1 year ago (v0.5.0) MIT License 45 Commits 9 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

                       _        
                      | |       
_ __   __ _ _ __ _   _| |_ ___  
| '_ \ / _` | '__| | | | __/ _ \ 
| | | | (_| | |  | |_| | || (_) |
|_| |_|\__,_|_|   \__,_|\__\___/ .TIGERB.cn

An object-oriented multi process manager for PHP

Version: 0.5.0

OS

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

Run

echo export NARUTOPATH=$(pwd) >> ~/.profile && echo 'export PATH="$PATH:$NARUTOPATH/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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.