2017 © Pedro Peláez
 

library worker-command-bundle

Integrates Pheanstalk and endless commands to allow easy creation of custom workers.

image

vivait/worker-command-bundle

Integrates Pheanstalk and endless commands to allow easy creation of custom workers.

  • Wednesday, May 6, 2015
  • by robincawser
  • Repository
  • 8 Watchers
  • 1 Stars
  • 2,729 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

WorkerCommandBundle

Integrates Pheanstalk and endless commands to allow easy creation of custom daemonizable beanstalk workers., (*1)

Install

Add "vivait/worker-command-bundle": "dev-master" to your composer.json and run composer update, (*2)

Update your AppKernel:, (*3)

public function registerBundles()
{
    $bundles = array(
        ...
        new Vivait\WorkerCommandBundle\VivaitWorkerCommandBundle(),
        new Leezy\PheanstalkBundle\LeezyPheanstalkBundle(),
}

Configure LeezyPheanstalkBundle., (*4)

Basic Usage

Simply extend Vivait\WorkerCommandBundle\Command\WorkerCommand and implement its abstract methods., (*5)

class EmailWorkerCommand extends WorkerCommand
{

    protected function performAction($payload, InputInterface $input, OutputInterface $output)
    {
        $output->writeln($payload);
    }

    protected function setCommandNamespace()
    {
        return "vivait:queue:worker:email";
    }
}

Do some work

The performAction() method will be called whenever a new job is available. This method should be used to perform the worker's task., (*6)

Set the name of the command using setCommandNamespace()., (*7)

Running the command

As long as this class resides in your application's Command directory, Symfony should autodetect it. Run php app/console to see a list of available commands., (*8)

To run the command defined in the above class, run php app/console vivait:queue:worker:email in your terminal., (*9)

Arguments

The command above must be provided with the tube argument, for example, php app/console vivait:queue:worker:email "vivait.myapp.email", (*10)

Optionally, an ignore argument can be set to specify an ignored tube., (*11)

Options

--timeout will set the interval between running the command, with a default setting of 5 seconds., (*12)

E.g. php app/console vivait:queue:worker:email -t 0.5, (*13)

Exception handling

WorkerCommand catches any \Exception. Internally, WorkerCommand prints the error message and code to the console, but by implementing handleException(), it's possible to further interact with the exception., (*14)

The Versions

06/05 2015

dev-master

9999999-dev

Integrates Pheanstalk and endless commands to allow easy creation of custom workers.

  Sources   Download

MIT

The Requires

 

by Robin Cawser

06/05 2015

1.0

1.0.0.0

Integrates Pheanstalk and endless commands to allow easy creation of custom workers.

  Sources   Download

MIT

The Requires

 

by Robin Cawser