Stark

WBOY
Release: 2016-06-20 12:52:51
Original
1032 people have browsed it

Stark

Starkis a library for running php code as multi-process daemon.

Requires

  • PHP 5.3 or Higher
  • A POSIX compatible operating system (Linux, OSX, BSD)
  • POSIX and PCNTL Extensions for PHP

Features

  • Simple Callbacks
  • Daemon Monitoring
  • Automatic Restart

Usage

We just need only one script file and one config file. The php script file defines the callback functions. The ini config file defines daemon's enviroments. You can use this command to start you daemon:

php src/Stark/run.php -f [ini_config_file]
Copy after login

Daemon configuration

  • main.name : A string specifying the daemon's unique name
  • main.host : A string specifying the bind ip address of monitoring server
  • main.port : An integer value specifying the bind port of monitoring server.
  • main.working_dir : A path to a directory where the daemon should put its log file and socket file.
  • run.script_file : The file that defines the callback funtions.
  • run.memory_limit : Specified as the php shorthand notation for bytes (see the manual ). This will be set asmemory_limitviaini_set
  • worker.count : An integer value specifying the number of worker.
  • worker.max_run_count : The maximum number of runs, after the number reached the worker will restart every time.
  • worker.max_run_seconds : An integer value in seconds, specifying the maximum time the worker will restart after the time arrives.
  • worker.max_idle_seconds : An integer value in seconds, specifying the longest idle time, the worker will restart after the time arrives.

An example configuration ini file:

[main]name = "config_1"host = "127.0.0.1"port = 9003working_dir = "/tmp"[run]script_file = "run_1.php"memory_limit = "1024M"[worker]count = 3max_run_count = 10000max_run_seconds = 3600max_idle_seconds = 60
Copy after login

An example callback file:
<?php$g_count = 0;function run($worker, $data) {    global $g_count;    $g_count++;    echo "Worker {$worker->index} current: {$g_count}\r\n";    usleep(100000);}
Copy after login

项目主页:http://www.open-open.com/lib/view/home/1436863173271

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!