drymek/pheanstalk-bundle

此包已被废弃且不再维护。未建议替代包。
此包的最新版本(dev-master)没有可用的许可证信息。

适用于 Symfony2 的 pheanstalk-bundle

安装: 926

依赖者: 0

建议者: 0

安全: 0

星标: 15

关注者: 1

分支: 3

开放问题: 0

类型:symfony-bundle

dev-master 2013-10-08 21:32 UTC

This package is not auto-updated.

Last update: 2019-02-20 17:16:28 UTC


README

Pheanstalk bundle 是一个简单且易于使用 Pheanstalk2(Pheanstalk 的命名空间版本)与 Symfony2 应用程序的工具。它提供了一些有用的工具。

安装

deps

[Pheanstalk]
    git=https://github.com/mrpoundsign/pheanstalk.git
    target=/pheanstalk

[drymekPheanstalkBundle]
    git=https://github.com/drymek/PheanstalkBundle.git
    target=/bundles/drymek/PheanstalkBundle

app/AppKernel.php

        if (in_array($this->getEnvironment(), array('dev', 'test'))) {
            // (...)
            $bundles[] = new drymek\PheanstalkBundle\drymekPheanstalkBundle();
        }

app/autoload.php


$loader->registerNamespaces(array(
    // (...)
    'Pheanstalk'       => __DIR__.'/../vendor/pheanstalk/classes',
    'drymek'           => __DIR__.'/../vendor/bundles',
));

app/config/config.yml

仅使用默认设置(服务器 127.0.0.1,端口 11300,超时 3 秒)


drymek_pheanstalk: ~

要配置任何或所有设置,只需添加您想要的即可


drymek_pheanstalk:
    server:  YOUR_SERVER
    port:    YOUR_SERVER_PORT
    timeout: YOUR_CONNECTION_TIMEOUT_VALUE_IN_SECONDS

服务

获取用于工作的 Pheanstalk 对象

$this->get('pheanstalk');

开发者工具

将其添加到 app/config/routing_dev.yml 中

_pheanstalk:
    resource: "@drymekPheanstalkBundle/Resources/config/routing.yml"
    prefix:   /_pheanstalk

开发者工具功能

  • 列出管道
  • 创建管道
  • 列出管道的工作
  • 删除工作
  • 将新工作放入管道

使用示例

$pheanstalk = $this->get('pheanstalk');

// ----------------------------------------
// producer (queues jobs)

$pheanstalk
    ->useTube('testtube')
    ->put("job payload goes here\n");

// ----------------------------------------
// worker (performs jobs)

$job = $pheanstalk
    ->watch('testtube')
    ->ignore('default')
    ->reserve();

echo $job->getData();

$pheanstalk->delete($job);