├── .gitignore
├── LICENSE
├── README.md
├── composer.json
├── etc
└── modules
│ └── Enqueue_Enqueue.xml
├── shell
└── enqueue.php
└── src
└── Enqueue
└── Enqueue
├── Helper
└── Data.php
├── Model
└── Config
│ ├── Field
│ └── Transportdefault.php
│ └── Source
│ ├── Redis
│ └── Vendor.php
│ └── Transport.php
└── etc
├── adminhtml.xml
├── config.xml
└── system.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | /composer.lock
3 | /composer.phar
4 | /phpunit.xml
5 | /vendor/
6 | /.idea/
7 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Maksym Kotliar
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Magento Enqueue extension
2 |
3 | [](https://gitter.im/php-enqueue/Lobby)
4 | [](https://packagist.org/packages/enqueue/magento-enqueue)
5 | [](https://packagist.org/packages/enqueue/magento-enqueue)
6 |
7 | The extension adds messaging capabilities to Magento application.
8 |
9 | ## Resources
10 |
11 | * [Enqueue Documentation](https://github.com/php-enqueue/enqueue-dev/blob/master/docs/index.md)
12 | * [Extension Documenation](https://github.com/php-enqueue/enqueue-dev/blob/master/docs/magento/quick_tour.md)
13 | * [Questions](https://gitter.im/php-enqueue/Lobby)
14 | * [Issue Tracker](https://github.com/php-enqueue/enqueue-dev/issues)
15 |
16 | ## Developed by Forma-Pro
17 |
18 | Forma-Pro is a full stack development company which interests also spread to open source development.
19 | Being a team of strong professionals we have an aim an ability to help community by developing cutting edge solutions in the areas of e-commerce, docker & microservice oriented architecture where we have accumulated a huge many-years experience.
20 | Our main specialization is Symfony framework based solution, but we are always looking to the technologies that allow us to do our job the best way. We are committed to creating solutions that revolutionize the way how things are developed in aspects of architecture & scalability.
21 |
22 | If you have any questions and inquires about our open source development, this product particularly or any other matter feel free to contact at opensource@forma-pro.com
23 |
24 | ## License
25 |
26 | It is released under the [MIT License](LICENSE).
27 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "enqueue/magento-enqueue",
3 | "type": "magento-module",
4 | "description": "Message Queue solutions for Magento. Supports RabbitMQ, AMQP, STOMP, Amazon SQS, Kafka, Redis, Google PubSub, Gearman, Beanstalk",
5 | "license": "MIT",
6 | "keywords": ["messaging", "queue", "amqp", "magento", "rabbitmq", "kafka", "redis", "sqs", "google-pubsub", "amazon-sqs", "gearman", "beanstalk"],
7 | "require": {
8 | "enqueue/enqueue": "^0.8",
9 | "enqueue/simple-client": "^0.8"
10 | },
11 | "extra":{
12 | "map": [
13 | ["src/Enqueue", "app/code/local/Enqueue"],
14 | ["etc/modules/Enqueue_Enqueue.xml", "app/etc/modules/Enqueue_Enqueue.xml"],
15 | ["shell/enqueue.php", "shell/enqueue.php"]
16 | ]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/etc/modules/Enqueue_Enqueue.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | true
6 | local
7 |
8 |
9 |
--------------------------------------------------------------------------------
/shell/enqueue.php:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | bindProcessors();
26 |
27 | /** @var \Enqueue\SimpleClient\SimpleClient $client */
28 | $client = $enqueue->getClient();
29 |
30 | $application = new Application();
31 | $application->add(new SetupBrokerCommand($client->getDriver()));
32 | $application->add(new ProduceMessageCommand($client->getProducer()));
33 | $application->add(new QueuesCommand($client->getQueueMetaRegistry()));
34 | $application->add(new TopicsCommand($client->getTopicMetaRegistry()));
35 | $application->add(new ConsumeMessagesCommand(
36 | $client->getQueueConsumer(),
37 | $client->getDelegateProcessor(),
38 | $client->getQueueMetaRegistry(),
39 | $client->getDriver()
40 | ));
41 |
42 | $application->run();
43 |
--------------------------------------------------------------------------------
/src/Enqueue/Enqueue/Helper/Data.php:
--------------------------------------------------------------------------------
1 | $config) {
21 | if (empty($config['topic'])) {
22 | throw new \LogicException(sprintf('Topic name is not set for processor: "%s"', $name));
23 | }
24 |
25 | if (empty($config['helper'])) {
26 | throw new \LogicException(sprintf('Helper name is not set for processor: "%s"', $name));
27 | }
28 |
29 | $this->getClient()->bind($config['topic'], $name, function () use ($config) {
30 | $processor = Mage::helper($config['helper']);
31 |
32 | if (false == $processor instanceof PsrProcessor) {
33 | throw new \LogicException(sprintf('Expects processor is instance of: "%s"', PsrProcessor::class));
34 | }
35 |
36 | return call_user_func_array([$processor, 'process'], func_get_args());
37 | });
38 | }
39 | }
40 |
41 | /**
42 | * @param string $topic
43 | * @param string|array|Message $message
44 | */
45 | public function send($topic, $message)
46 | {
47 | $this->getProducer()->send($topic, $message);
48 | }
49 |
50 | /**
51 | * @return \Enqueue\Client\ProducerInterface
52 | */
53 | public function getProducer()
54 | {
55 | return $this->getClient()->getProducer();
56 | }
57 |
58 | /**
59 | * @return SimpleClient
60 | */
61 | public function getClient()
62 | {
63 | if (null === $this->client) {
64 | $this->client = new SimpleClient($this->buildConfig());
65 | }
66 |
67 | return $this->client;
68 | }
69 |
70 | /**
71 | * @return array
72 | */
73 | public function buildConfig()
74 | {
75 | $config = $this->getClientConfig();
76 | $config['transport'] = [];
77 |
78 | switch ($name = Mage::getStoreConfig('enqueue/transport/default')) {
79 | case 'rabbitmq_amqp':
80 | $config['transport'] = $this->getRabbitMqAmqpConfig();
81 | break;
82 | case 'amqp':
83 | $config['transport'] = $this->getAmqpConfig();
84 | break;
85 | case 'stomp':
86 | $config['transport'] = $this->getStompConfig();
87 | break;
88 | case 'rabbitmq_stomp':
89 | $config['transport'] = $this->getRabbitMqStompConfig();
90 | break;
91 | case 'fs':
92 | $config['transport'] = $this->getFsConfig();
93 | break;
94 | case 'sqs':
95 | $config['transport'] = $this->getSqsConfig();
96 | break;
97 | case 'redis':
98 | $config['transport'] = $this->getRedisConfig();
99 | break;
100 | case 'dbal':
101 | $config['transport'] = $this->getDbalConfig();
102 | break;
103 | default:
104 | throw new \LogicException(sprintf('Unknown transport: "%s"', $name));
105 | }
106 |
107 | return $config;
108 | }
109 |
110 | /**
111 | * @return array
112 | */
113 | public function getClientConfig()
114 | {
115 | return ['client' => [
116 | 'prefix' => Mage::getStoreConfig('enqueue/client/prefix'),
117 | 'app_name' => Mage::getStoreConfig('enqueue/client/app_name'),
118 | 'router_topic' => Mage::getStoreConfig('enqueue/client/router_topic'),
119 | 'router_queue' => Mage::getStoreConfig('enqueue/client/router_queue'),
120 | 'default_processor_queue' => Mage::getStoreConfig('enqueue/client/default_processor_queue'),
121 | 'redelivered_delay_time' => (int) Mage::getStoreConfig('enqueue/client/redelivered_delay_time'),
122 | ]];
123 | }
124 |
125 | /**
126 | * @return array
127 | */
128 | public function getRabbitMqAmqpConfig()
129 | {
130 | return ['rabbitmq_amqp' => [
131 | 'host' => Mage::getStoreConfig('enqueue/rabbitmq_amqp/host'),
132 | 'port' => (int) Mage::getStoreConfig('enqueue/rabbitmq_amqp/port'),
133 | 'user' => Mage::getStoreConfig('enqueue/rabbitmq_amqp/user'),
134 | 'pass' => Mage::getStoreConfig('enqueue/rabbitmq_amqp/pass'),
135 | 'vhost' => Mage::getStoreConfig('enqueue/rabbitmq_amqp/vhost'),
136 | 'lazy' => (bool) Mage::getStoreConfig('enqueue/rabbitmq_amqp/lazy'),
137 | ]];
138 | }
139 |
140 | /**
141 | * @return array
142 | */
143 | public function getAmqpConfig()
144 | {
145 | return ['amqp' => [
146 | 'host' => Mage::getStoreConfig('enqueue/amqp/host'),
147 | 'port' => (int) Mage::getStoreConfig('enqueue/amqp/port'),
148 | 'user' => Mage::getStoreConfig('enqueue/amqp/user'),
149 | 'pass' => Mage::getStoreConfig('enqueue/amqp/pass'),
150 | 'vhost' => Mage::getStoreConfig('enqueue/amqp/vhost'),
151 | 'lazy' => (bool) Mage::getStoreConfig('enqueue/amqp/lazy'),
152 | ]];
153 | }
154 |
155 | /**
156 | * @return array
157 | */
158 | public function getStompConfig()
159 | {
160 | return ['stomp' => [
161 | 'host' => Mage::getStoreConfig('enqueue/stomp/host'),
162 | 'port' => (int) Mage::getStoreConfig('enqueue/stomp/port'),
163 | 'login' => Mage::getStoreConfig('enqueue/stomp/login'),
164 | 'password' => Mage::getStoreConfig('enqueue/stomp/password'),
165 | 'vhost' => Mage::getStoreConfig('enqueue/stomp/vhost'),
166 | 'lazy' => (bool) Mage::getStoreConfig('enqueue/stomp/lazy'),
167 | ]];
168 | }
169 |
170 | /**
171 | * @return array
172 | */
173 | public function getRabbitMqStompConfig()
174 | {
175 | return ['rabbitmq_stomp' => [
176 | 'host' => Mage::getStoreConfig('enqueue/rabbitmq_stomp/host'),
177 | 'port' => (int) Mage::getStoreConfig('enqueue/rabbitmq_stomp/port'),
178 | 'login' => Mage::getStoreConfig('enqueue/rabbitmq_stomp/login'),
179 | 'password' => Mage::getStoreConfig('enqueue/rabbitmq_stomp/password'),
180 | 'vhost' => Mage::getStoreConfig('enqueue/rabbitmq_stomp/vhost'),
181 | 'lazy' => (bool) Mage::getStoreConfig('enqueue/rabbitmq_stomp/lazy'),
182 | 'delay_plugin_installed' => (bool) Mage::getStoreConfig('enqueue/rabbitmq_stomp/delay_plugin_installed'),
183 | 'management_plugin_installed' => (bool) Mage::getStoreConfig('enqueue/rabbitmq_stomp/management_plugin_installed'),
184 | 'management_plugin_port' => (int) Mage::getStoreConfig('enqueue/rabbitmq_stomp/management_plugin_port'),
185 | ]];
186 | }
187 |
188 | /**
189 | * @return array
190 | */
191 | public function getFsConfig()
192 | {
193 | return ['fs' => [
194 | 'store_dir' => Mage::getStoreConfig('enqueue/fs/store_dir'),
195 | 'pre_fetch_count' => (int) Mage::getStoreConfig('enqueue/fs/pre_fetch_count'),
196 | 'chmod' => intval(Mage::getStoreConfig('enqueue/fs/chmod'), 8),
197 | ]];
198 | }
199 |
200 | /**
201 | * @return array
202 | */
203 | public function getSqsConfig()
204 | {
205 | return ['sqs' => [
206 | 'key' => Mage::getStoreConfig('enqueue/sqs/key'),
207 | 'secret' => Mage::getStoreConfig('enqueue/sqs/secret'),
208 | 'token' => Mage::getStoreConfig('enqueue/sqs/token'),
209 | 'region' => Mage::getStoreConfig('enqueue/sqs/region'),
210 | 'retries' => (int) Mage::getStoreConfig('enqueue/sqs/retries'),
211 | 'lazy' => (bool) Mage::getStoreConfig('enqueue/sqs/lazy'),
212 | ]];
213 | }
214 |
215 | /**
216 | * @return array
217 | */
218 | public function getRedisConfig()
219 | {
220 | return ['redis' => [
221 | 'host' => Mage::getStoreConfig('enqueue/redis/host'),
222 | 'port' => (int) Mage::getStoreConfig('enqueue/redis/port'),
223 | 'vendor' => Mage::getStoreConfig('enqueue/redis/vendor'),
224 | 'lazy' => (bool) Mage::getStoreConfig('enqueue/redis/lazy'),
225 | ]];
226 | }
227 |
228 | /**
229 | * @return array
230 | */
231 | public function getDbalConfig()
232 | {
233 | return ['dbal' => [
234 | 'connection' => [
235 | 'url' => Mage::getStoreConfig('enqueue/dbal/url'),
236 | ],
237 | 'table_name' => Mage::getStoreConfig('enqueue/dbal/table_name'),
238 | 'polling_interval' => (int) Mage::getStoreConfig('enqueue/dbal/polling_interval'),
239 | 'lazy' => (bool) Mage::getStoreConfig('enqueue/dbal/lazy'),
240 | ]];
241 | }
242 | }
243 |
--------------------------------------------------------------------------------
/src/Enqueue/Enqueue/Model/Config/Field/Transportdefault.php:
--------------------------------------------------------------------------------
1 | getValue();
19 |
20 | $data = [
21 | 'rabbitmq_amqp' => [
22 | 'name' => 'RabbitMQ AMQP',
23 | 'package' => 'enqueue/amqp-ext',
24 | 'class' => AmqpContext::class,
25 | ],
26 | 'amqp' => [
27 | 'name' => 'AMQP',
28 | 'package' => 'enqueue/amqp-ext',
29 | 'class' => AmqpContext::class,
30 | ],
31 | 'rabbitmq_stomp' => [
32 | 'name' => 'RabbitMQ STOMP',
33 | 'package' => 'enqueue/stomp',
34 | 'class' => StompContext::class,
35 | ],
36 | 'stomp' => [
37 | 'name' => 'STOMP',
38 | 'package' => 'enqueue/stomp',
39 | 'class' => StompContext::class,
40 | ],
41 | 'fs' => [
42 | 'name' => 'Filesystem',
43 | 'package' => 'enqueue/fs',
44 | 'class' => FsContext::class,
45 | ],
46 | 'sqs' => [
47 | 'name' => 'Amazon AWS SQS',
48 | 'package' => 'enqueue/sqs',
49 | 'class' => SqsContext::class,
50 | ],
51 | 'redis' => [
52 | 'name' => 'Redis',
53 | 'package' => 'enqueue/redis',
54 | 'class' => RedisContext::class,
55 | ],
56 | 'dbal' => [
57 | 'name' => 'Doctrine DBAL',
58 | 'package' => 'enqueue/dbal',
59 | 'class' => DbalContext::class,
60 | ],
61 | ];
62 |
63 | if (false == isset($data[$transport])) {
64 | throw new \LogicException(sprintf('Unknown transport: "%s"', $transport));
65 | }
66 |
67 | if (false == $this->isClassExists($data[$transport]['class'])) {
68 | Mage::throwException(sprintf('%s transport requires package "%s". Please install it via composer. #> php composer.php require %s',
69 | $data[$transport]['name'], $data[$transport]['package'], $data[$transport]['package']
70 | ));
71 | }
72 |
73 | return $return;
74 | }
75 |
76 | /**
77 | * @param string $class
78 | *
79 | * @return bool
80 | */
81 | private function isClassExists($class)
82 | {
83 | try {
84 | return class_exists($class);
85 | } catch (\Exception $e) { // in dev mode error handler throws exception
86 | return false;
87 | }
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/src/Enqueue/Enqueue/Model/Config/Source/Redis/Vendor.php:
--------------------------------------------------------------------------------
1 | 'phpredis', 'label' => Mage::helper('enqueue')->__('phpredis')],
14 | ['value' => 'predis', 'label' => Mage::helper('enqueue')->__('predis')],
15 | ];
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Enqueue/Enqueue/Model/Config/Source/Transport.php:
--------------------------------------------------------------------------------
1 | 'rabbitmq_amqp', 'label' => Mage::helper('enqueue')->__('RabbitMQ AMQP')],
14 | ['value' => 'amqp', 'label' => Mage::helper('enqueue')->__('AMQP')],
15 | ['value' => 'rabbitmq_stomp', 'label' => Mage::helper('enqueue')->__('RabbitMQ STOMP')],
16 | ['value' => 'stomp', 'label' => Mage::helper('enqueue')->__('STOMP')],
17 | ['value' => 'fs', 'label' => Mage::helper('enqueue')->__('Filesystem')],
18 | ['value' => 'sqs', 'label' => Mage::helper('enqueue')->__('Amazon AWS SQS')],
19 | ['value' => 'redis', 'label' => Mage::helper('enqueue')->__('Redis')],
20 | ['value' => 'dbal', 'label' => Mage::helper('enqueue')->__('Doctrine DBAL')],
21 | ];
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Enqueue/Enqueue/etc/adminhtml.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Enqueue Message Queue
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/Enqueue/Enqueue/etc/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 0.1
6 |
7 |
8 |
9 |
10 |
11 | Enqueue_Enqueue_Model
12 |
13 |
14 |
15 |
16 | Enqueue_Enqueue_Helper
17 |
18 |
19 |
20 |
21 |
22 |
23 | rabbitmq-amqp
24 |
25 |
26 | enqueue
27 | app
28 | router
29 | default
30 | default
31 | 0
32 |
33 |
34 | localhost
35 | 5672
36 | guest
37 | guest
38 | /
39 | 1
40 |
41 |
42 | 5672
43 | 1
44 |
45 |
46 | 15672
47 | 61613
48 | 1
49 |
50 |
51 | 61613
52 | 1
53 |
54 |
55 | 1
56 | 0600
57 |
58 |
59 | 3
60 | 1
61 |
62 |
63 | 6379
64 | 1
65 |
66 |
67 | enqueue
68 | 1000
69 | 1
70 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/src/Enqueue/Enqueue/etc/system.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 1000
7 |
8 |
9 |
10 |
11 |
12 | general
13 | text
14 | 10000
15 | 1
16 | 0
17 | 0
18 |
19 |
20 |
21 | 1
22 | text
23 | 1
24 | 1
25 | 0
26 | 0
27 |
28 |
29 |
30 | select
31 | enqueue/config_field_transportdefault
32 | enqueue/config_source_transport
33 | 1
34 | 1
35 | 0
36 | -
37 |
38 |
39 |
40 |
41 |
42 | 1
43 | text
44 | 1
45 | 1
46 | 0
47 | 0
48 |
49 |
50 |
51 | text
52 | 2
53 | 1
54 | 0
55 | -
56 |
57 |
58 |
59 | text
60 | 3
61 | 1
62 | 0
63 | -
64 |
65 |
66 |
67 | text
68 | 4
69 | 1
70 | 0
71 | -
72 |
73 |
74 |
75 | text
76 | 5
77 | 1
78 | 0
79 | -
80 |
81 |
82 |
83 | text
84 | 6
85 | 1
86 | 0
87 | -
88 |
89 |
90 |
91 | text
92 | 7
93 | 1
94 | 0
95 | -
96 | validate-number
97 |
98 |
99 |
100 |
101 |
102 | 1
103 | text
104 | 1
105 | 1
106 | 0
107 | 0
108 |
109 |
110 |
111 | text
112 | 1
113 | 1
114 | 0
115 | -
116 |
117 |
118 |
119 | text
120 | 2
121 | 1
122 | 0
123 | -
124 | validate-number
125 |
126 |
127 |
128 | text
129 | 3
130 | 1
131 | 0
132 | -
133 |
134 |
135 |
136 | text
137 | 4
138 | 1
139 | 0
140 | -
141 |
142 |
143 |
144 | text
145 | 5
146 | 1
147 | 0
148 | -
149 |
150 |
151 |
152 | select
153 | adminhtml/system_config_source_yesno
154 | 6
155 | 1
156 | 0
157 | -
158 | Connection will be performed as later as possible.
159 |
160 |
161 |
162 |
163 |
164 | 0
165 | text
166 | 1
167 | 1
168 | 0
169 | 0
170 |
171 |
172 |
173 | text
174 | 1
175 | 1
176 | 0
177 | -
178 |
179 |
180 |
181 | text
182 | 2
183 | 1
184 | 0
185 | -
186 | validate-number
187 |
188 |
189 |
190 | text
191 | 3
192 | 1
193 | 0
194 | -
195 |
196 |
197 |
198 | text
199 | 4
200 | 1
201 | 0
202 | -
203 |
204 |
205 |
206 | text
207 | 5
208 | 1
209 | 0
210 | -
211 |
212 |
213 |
214 | select
215 | adminhtml/system_config_source_yesno
216 | 6
217 | 1
218 | 0
219 | -
220 | Connection will be performed as later as possible.
221 |
222 |
223 |
224 |
225 |
226 | 0
227 | text
228 | 1
229 | 1
230 | 0
231 | 0
232 |
233 |
234 |
235 | text
236 | 1
237 | 1
238 | 0
239 | -
240 |
241 |
242 |
243 | text
244 | 2
245 | 1
246 | 0
247 | -
248 | validate-number
249 |
250 |
251 |
252 | text
253 | 3
254 | 1
255 | 0
256 | -
257 |
258 |
259 |
260 | text
261 | 4
262 | 1
263 | 0
264 | -
265 |
266 |
267 |
268 | text
269 | 5
270 | 1
271 | 0
272 | -
273 |
274 |
275 |
276 | select
277 | adminhtml/system_config_source_yesno
278 | 6
279 | 1
280 | 0
281 | -
282 | Connection will be performed as later as possible.
283 |
284 |
285 |
286 |
287 |
288 | 0
289 | text
290 | 1
291 | 1
292 | 0
293 | 0
294 |
295 |
296 |
297 | text
298 | 1
299 | 1
300 | 0
301 | -
302 |
303 |
304 |
305 | text
306 | 2
307 | 1
308 | 0
309 | -
310 | validate-number
311 |
312 |
313 |
314 | text
315 | 3
316 | 1
317 | 0
318 | -
319 |
320 |
321 |
322 | text
323 | 4
324 | 1
325 | 0
326 | -
327 |
328 |
329 |
330 | text
331 | 5
332 | 1
333 | 0
334 | -
335 |
336 |
337 |
338 | select
339 | adminhtml/system_config_source_yesno
340 | 6
341 | 1
342 | 0
343 | -
344 | Connection will be performed as later as possible.
345 |
346 |
347 |
348 | select
349 | adminhtml/system_config_source_yesno
350 | 7
351 | 1
352 | 0
353 | -
354 |
355 |
356 |
357 | select
358 | adminhtml/system_config_source_yesno
359 | 8
360 | 1
361 | 0
362 | -
363 |
364 |
365 |
366 | text
367 | 9
368 | 1
369 | 0
370 | -
371 | validate-number
372 |
373 |
374 |
375 |
376 |
377 | 0
378 | text
379 | 1
380 | 1
381 | 0
382 | 0
383 | Note! Client:Router Topic and Client:Router Queue must be equal for this transport.]]>
384 |
385 |
386 |
387 | text
388 | 1
389 | 1
390 | 0
391 | -
392 | The store directory where all queue\topics files will be created and messages are stored
393 |
394 |
395 |
396 | text
397 | 2
398 | 1
399 | 0
400 | -
401 | The option tells how many messages should be read from file at once. The feature saves resources but could lead to bigger messages lose.
402 | validate-number
403 |
404 |
405 |
406 | text
407 | 3
408 | 1
409 | 0
410 | -
411 | The queue files are created with this given permissions if not exist.
412 | validate-number
413 |
414 |
415 |
416 |
417 |
418 | 0
419 | text
420 | 1
421 | 1
422 | 0
423 | 0
424 |
425 |
426 |
427 | text
428 | 1
429 | 1
430 | 0
431 | -
432 |
433 |
434 |
435 | text
436 | 2
437 | 1
438 | 0
439 | -
440 |
441 |
442 |
443 | text
444 | 3
445 | 1
446 | 0
447 | -
448 |
449 |
450 |
451 | text
452 | 4
453 | 1
454 | 0
455 | -
456 |
457 |
458 |
459 | text
460 | 5
461 | 1
462 | 0
463 | -
464 | Configures the maximum number of allowed retries for a client (pass 0 to disable retries)
465 | validate-number
466 |
467 |
468 |
469 | select
470 | adminhtml/system_config_source_yesno
471 | 6
472 | 1
473 | 0
474 | -
475 | Connection will be performed as later as possible.
476 |
477 |
478 |
479 |
480 |
481 | 0
482 | text
483 | 1
484 | 1
485 | 0
486 | 0
487 |
488 |
489 |
490 | text
491 | 1
492 | 1
493 | 0
494 | -
495 |
496 |
497 |
498 | text
499 | 2
500 | 1
501 | 0
502 | -
503 | validate-number
504 |
505 |
506 |
507 | select
508 | enqueue/config_source_redis_vendor
509 | 3
510 | 1
511 | 0
512 | -
513 |
514 |
515 |
516 | select
517 | adminhtml/system_config_source_yesno
518 | 4
519 | 1
520 | 0
521 | -
522 | Connection will be performed as later as possible.
523 |
524 |
525 |
526 |
527 |
528 | 0
529 | text
530 | 1
531 | 1
532 | 0
533 | 0
534 |
535 |
536 |
537 | text
538 | 1
539 | 1
540 | 0
541 | -
542 | Connecting using a URL Example: mysql://user:password@host:port/dbname?charset=UTF8]]>
543 |
544 |
545 |
546 | text
547 | 1
548 | 1
549 | 0
550 | -
551 |
552 |
553 |
554 | text
555 | 2
556 | 1
557 | 0
558 | -
559 | validate-number
560 |
561 |
562 |
563 | select
564 | adminhtml/system_config_source_yesno
565 | 4
566 | 1
567 | 0
568 | -
569 | Connection will be performed as later as possible.
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
--------------------------------------------------------------------------------