Queue
Works with Queue servers.
Testing with a selection of remote/local queueing services, including Amazon’s SQS service
Iron.io service and beanstalkd service.
Supported and tested queue types are:
The following dependencies are needed for the listed queue servers:
- Beanstalkd: pda/pheanstalk ~3.0
- Amazon SQS: aws/aws-sdk-php
- IronMQ: iron-io/iron_mq
Status
- Maintainer: nathanmac
- Stability:
- Iron.io: stable
- Beanstalkd: stable
- Amazon SQS: stable
- Contact: [email protected]
Config
The configuration settings depending on which queueing service is being used, all the options are listed
here. Refer to the configuration examples below to identify the configuration options required for your chosen
service.
Example
Example (beanstalkd)
modules:
enabled: [Queue]
config:
Queue:
type: 'beanstalkd'
host: '127.0.0.1'
port: 11300
timeout: 120
Example (Iron.io)
modules:
enabled: [Queue]
config:
Queue:
'type': 'iron',
'host': 'mq-aws-us-east-1.iron.io',
'token': 'your-token',
'project': 'your-project-id'
Example (AWS SQS)
modules:
enabled: [Queue]
config:
Queue:
'type': 'aws',
'key': 'your-public-key',
'secret': 'your-secret-key',
'region': 'us-west-2'
Example AWS SQS using profile credentials
modules:
enabled: [Queue]
config:
Queue:
'type': 'aws',
'profile': 'project1', //see documentation
'region': 'us-west-2'
Example AWS SQS running on Amazon EC2 instance
modules:
enabled: [Queue]
config:
Queue:
'type': 'aws',
'region': 'us-west-2'
Actions
addMessageToQueue
Add a message to a queue/tube
<?php
$I->addMessageToQueue('this is a messages', 'default');
?>
param string
$message Message Body
param string
$queue Queue Name
clearQueue
Clear all messages of the queue/tube
<?php
$I->clearQueue('default');
?>
param string
$queue Queue Name
dontSeeEmptyQueue
Check if a queue/tube is NOT empty of all messages
<?php
$I->dontSeeEmptyQueue('default');
?>
param string
$queue Queue Name
dontSeeQueueExists
Check if a queue/tube does NOT exist on the queueing server.
<?php
$I->dontSeeQueueExists('default');
?>
param string
$queue Queue Name
dontSeeQueueHasCurrentCount
Check if a queue/tube does NOT have a given current number of messages
<?php
$I->dontSeeQueueHasCurrentCount('default', 10);
?>
param string
$queue Queue Name
param int
$expected Number of messages expected
dontSeeQueueHasTotalCount
Check if a queue/tube does NOT have a given total number of messages
<?php
$I->dontSeeQueueHasTotalCount('default', 10);
?>
param string
$queue Queue Name
param int
$expected Number of messages expected
grabQueueCurrentCount
Grabber method to get the current number of messages on the queue/tube (pending/ready)
<?php
$I->grabQueueCurrentCount('default');
?>
grabQueueTotalCount
Grabber method to get the total number of messages on the queue/tube
<?php
$I->grabQueueTotalCount('default');
?>
-
param
$queue Queue Name
-
return
int Count
grabQueues
Grabber method to get the list of queues/tubes on the server
<?php
$queues = $I->grabQueues();
?>
return
array List of Queues/Tubes
seeEmptyQueue
Check if a queue/tube is empty of all messages
<?php
$I->seeEmptyQueue('default');
?>
param string
$queue Queue Name
seeQueueExists
Check if a queue/tube exists on the queueing server.
<?php
$I->seeQueueExists('default');
?>
param string
$queue Queue Name
seeQueueHasCurrentCount
Check if a queue/tube has a given current number of messages
<?php
$I->seeQueueHasCurrentCount('default', 10);
?>
param string
$queue Queue Name
param int
$expected Number of messages expected
seeQueueHasTotalCount
Check if a queue/tube has a given total number of messages
<?php
$I->seeQueueHasTotalCount('default', 10);
?>
param string
$queue Queue Name
param int
$expected Number of messages expected