got/stark 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

got/stark

最新稳定版本:2.1.1

Composer 安装命令:

composer require got/stark

包简介

A message queue-based PHP daemon

README 文档

README

Latest Stable Version Total Downloads License

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

Requires

  • PHP 5.4 or Higher
  • A POSIX compatible operating system (Linux, OSX, BSD)
  • POSIX and PCNTL extensions for PHP
  • Redis extensions

Features

  • Simple Callbacks
  • Message Queue Processing
  • Daemon Monitoring
  • Automatic Restart

Examples

Consumer Only

<?php
require_once __DIR__ . '/../vendor/autoload.php';

use Stark\DaemonFactory;
use Stark\Daemon\Consumer\AbstractConsumer;
use Stark\Daemon\Worker;

class MyConsumer extends AbstractConsumer {
    public function consume(Worker $worker, $data) {
        // ...
        return true;
    }
}

$daemon = DaemonFactory::consumerOnly(new MyConsumer());
$daemon->setWorkerCount(3);
$daemon->setMaxRunCount(50000);
$daemon->setPort(9101);
$daemon->setName("consumer-self");
$daemon->setWorkingDirectory("/tmp");
$daemon->start();

Consumer Redis Queue

<?php
require_once __DIR__ . '/../vendor/autoload.php';

use Stark\Daemon\Consumer\AbstractConsumer;
use Stark\DaemonFactory;
use Stark\Daemon\Worker;

class MyConsumer extends AbstractConsumer {
    public function consume(Worker $worker, $data) {
        if ($data == false) {
            return false;
        }
        
        //... $data from redis queue-0
        return true;
    }
}

$daemon = DaemonFactory::consumeRedis(new MyConsumer(), "127.0.0.1", "9004", "queue-0");
$daemon->setWorkerCount(3);
$daemon->setMaxRunCount(500000);
$daemon->setPort(9102);
$daemon->setName("consumer-redis");
$daemon->start();

Admin

# Status
redis-cli -h 127.0.0.1 -p 9102 info

# Shutdown
redis-cli -h 127.0.0.1 -p 9102 shutdown

统计信息

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

GitHub 信息

  • Stars: 94
  • Watchers: 10
  • Forks: 20
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-09-02