Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2171d53

Browse files
magento enqueue
1 parent fae4ee6 commit 2171d53

File tree

2 files changed

+92
-4
lines changed

2 files changed

+92
-4
lines changed

‎README.md

Lines changed: 86 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,81 @@
11

2+
Magento PHP Enqueue Integration
3+
===============================
4+
5+
Install
6+
-------
7+
We use magento composer installer to install this module.
8+
See more https://github.com/Cotya/magento-composer-installer
9+
10+
Example of `composer.json`:
11+
12+
```json
13+
{
14+
"name": "magento/project",
15+
"description": "Magento Project",
16+
"repositories": [
17+
{
18+
"type": "vcs",
19+
"url": "git@github.com:AydinHassan/magento-community.git"
20+
}
21+
],
22+
"require": {
23+
"magento-hackathon/magento-composer-installer": "~3.0",
24+
"aydin-hassan/magento-core-composer-installer" : "~1.0",
25+
"magento/magento" : "1.9.1.0",
26+
"enqueue/magento-enqueue": "*@dev"
27+
},
28+
"extra":{
29+
"magento-root-dir": "web/"
30+
}
31+
}
32+
```
33+
34+
Publish Message
35+
---------------
36+
37+
```php
38+
39+
Mage::helper('enqueue')->send('async-job', 'payload');
40+
41+
```
42+
43+
Message Consumer Class
44+
----------------------
45+
```php
46+
<?php
47+
48+
use Enqueue\Psr\PsrContext;
49+
use Enqueue\Psr\PsrMessage;
50+
use Enqueue\Psr\PsrProcessor;
51+
52+
class Acme_Module_Helper_Async_Job implements PsrProcessor
53+
{
54+
public function process(PsrMessage $message, PsrContext $context)
55+
{
56+
// do job
57+
// $message->getBody() -> 'payload'
58+
59+
return self::ACK; // acknowledge message
60+
// return self::REJECT; // reject message
61+
// return self::REQUEUE; // requeue message
62+
}
63+
}
64+
```
65+
66+
Bind message processor to topic
67+
-------------------------------
268

369
app/etc/local.xml
470
```xml
571
<config>
672
<default>
773
<enqueue>
874
<processors>
9-
<processor1>
10-
<topic>topic1</topic>
11-
<helper>magento-helper-name1</helper>
12-
</processor1>
75+
<async-job-processor>
76+
<topic>async-job</topic>
77+
<helper>acme/async_job</helper>
78+
</async-job-processor>
1379
<processor2>
1480
<topic>topic2</topic>
1581
<helper>magento-helper-name2</helper>
@@ -19,3 +85,19 @@ app/etc/local.xml
1985
</default>
2086
</config>
2187
```
88+
89+
Run message consumer
90+
--------------------
91+
```bash
92+
bash/> php shell/enqueue.php enqueue:consume -vvv --setup-broker
93+
```
94+
95+
More console commands
96+
---------------------
97+
```bash
98+
enqueue:consume [enq:c] A client's worker that processes messages. By default it connects to default queue. It select an appropriate message processor based on a message headers
99+
enqueue:produce [enq:p] A command to send a message to topic
100+
enqueue:queues [enq:m:q|debug:enqueue:queues] A command shows all available queues and some information about them.
101+
enqueue:setup-broker [enq:sb] Creates all required queues
102+
enqueue:topics [enq:m:t|debug:enqueue:topics] A command shows all available topics and some information about them.
103+
```

‎src/Enqueue/Enqueue/Helper/Data.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ public function getClient()
8383
return $this->client;
8484
}
8585

86+
/**
87+
* @return \Enqueue\Client\SimpleClient
88+
*/
8689
public function buildRabbitMqAmqp()
8790
{
8891
$config = [
@@ -101,6 +104,9 @@ public function buildRabbitMqAmqp()
101104
);
102105
}
103106

107+
/**
108+
* @return \Enqueue\Client\Config
109+
*/
104110
public function buildConfig()
105111
{
106112
return new \Enqueue\Client\Config(

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /