定制 firegate666/daemon 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

firegate666/daemon

最新稳定版本:0.1.2

Composer 安装命令:

composer require firegate666/daemon

包简介

Simple PHP daemon wrapper for your custom handler, integrates easily with initd or supervisor

README 文档

README

What is this project about

You have background tasks for your project? You want to code them in PHP? You need a simple framework to attach your tasks to?

Please try out my wrapper for your daemon tasks.

How to use it

That is quite simple, have a look at the example daemon to get an idea what you need to implement.

Integrate it via composer into project

composer require firegate666/daemon

Create your own daemon handler and daemon handler factory be implementing HandlerInterface and HandlerInterfaceFactory. Setup your own startup php script, see exampled.php

setup with start-stop-daemon

Copy your own init script to /etc/init.d/, see etc/init.d/exampled.daemon.sh.

setup with supervisor

Download and install Supervisord. On Ubuntu or similar it is quite easy to use apt-get install. Copy your supervisor configuration to /etc/supervisor/conf.d/, see etc/supervisor/conf.d/exampled.conf. Copy your own init script to /etc/init.d/, see etc/init.d/exampled.supervisor.sh.

control it

Now you can control your daemon

/etc/init.d/exampled start
/etc/init.d/exampled stop
/etc/init.d/exampled restart
/etc/init.d/exampled status    

How does this thing work

Via a command line sript you can start up the daemon, see exampled.php. Write your own handler and factory and inject them into the daemon. When the daemon starts up, he forks 4 child processes with your pre-defined handler. If one child goes down, a new one is started. Each child process has its own handler instance and starts the run loop.

If the daemon itself receives a shutdown signal (SIGTERM, SIGINT), this signal is dispatched to his children and the daemon waits for their termination before he goes down himself.

ToDos

  • too many children died in short amount of time detection
  • proper log messages and levels
  • define guidelines for levels

统计信息

  • 总下载量: 23
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 3
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2015-10-09