@@ -16,29 +16,30 @@ $ composer require enqueue/elastica-bundle
16
16
$ composer require enqueue/sqs
17
17
```
18
18
19
- Define a handful of useful entries in ` parameters.yml `
19
+ Add the useful variables to your parameters, usually defined in ` services.yaml ` :
20
20
21
21
``` yaml
22
22
parameters :
23
- aws_sqs_key : XXXXX
24
- aws_sqs_secret_key : XXXXX
25
- aws_sqs_region : XXXXX
26
- aws_sqs_queue_name : XXXXX
27
- aws_sqs_reply_queue_name : XXXXX
23
+ aws_sqs_key : ' %env(AWS_SQS_KEY)% '
24
+ aws_sqs_secret_key : ' %env(AWS_SQS_SECRET_KEY)% '
25
+ aws_sqs_region : ' %env(AWS_SQS_REGION)% '
26
+ aws_sqs_queue_name : ' %env(AWS_SQS_QUEUE_NAME)% '
27
+ aws_sqs_reply_queue_name : ' %env(AWS_SQS_REPLY_QUEUE_NAME)% '
28
28
` ` `
29
29
30
- Your ` vendor/enqueue.yml` config should look like, taking three of the parameters defined above.
30
+ You will need to define the corresponding environment variables for a later use.
31
+
32
+ Your ` config/packages/enqueue.yml` config should look like, taking three of the parameters defined above.
31
33
32
34
` ` ` yaml
33
35
enqueue:
34
- transport:
35
- default: sqs
36
- sqs:
37
- key: "%aws_sqs_key%"
38
- secret: "%aws_sqs_secret_key%"
39
- region: "%aws_sqs_region%"
36
+ default:
37
+ transport:
38
+ dsn: 'sqs:?key=%aws_sqs_key%&secret=%aws_sqs_secret_key%®ion=%aws_sqs_region%'
39
+ client: ~
40
40
41
41
enqueue_elastica:
42
+ transport: '%enqueue.default_transport%'
42
43
doctrine: ~
43
44
` ` `
44
45
@@ -52,13 +53,13 @@ services:
52
53
$queueName: "%aws_sqs_queue_name%"
53
54
$replyQueueName: "%aws_sqs_reply_queue_name%"
54
55
tags:
55
- - { name: kernel.event_listener, event: elastica.pager_persister.pre_persist, method: prePersist }
56
+ - { name: kernel.event_listener, method: prePersist }
56
57
` ` `
57
58
58
- Here is a simple implementation of `QueuePagerPersister` that is aware of AWS, again it takes the parameters you defined above.
59
+ Here is a simple implementation of `QueuePagerPersister` that is aware of AWS, and takes the parameters you defined above.
59
60
60
61
` ` ` php
61
- namespace AppBundle \L istener;
62
+ namespace App \L istener;
62
63
63
64
use FOS\E lasticaBundle\P ersister\E vent\P rePersistEvent;
64
65
@@ -130,7 +131,7 @@ Go the AWS GUI console and you should see the messages added to the queue. If yo
130
131
The messages are now in the AWS SQS queue, ready to be consumed.
131
132
132
133
` ` ` bash
133
- php bin/console enqueue:transport:consume enqueue_elastica.populate_processor --queue=acme_fos_elastica_populate -vv
134
+ php bin/console enqueue:transport:consume enqueue_elastica.populate_processor <queue_name> -vvv
134
135
[info] Start consuming
135
136
[info] Message received from the queue: acme_fos_elastica_populate
136
137
[info] Message processed: enqueue.ack
@@ -139,6 +140,9 @@ php bin/console enqueue:transport:consume enqueue_elastica.populate_processor --
139
140
...
140
141
` ` `
141
142
143
+ | `<queue_name>` should be replaced with the name defined as `AWS_SQS_QUEUE_NAME` (not the reply queue)
144
+
145
+
142
146
You should now start seeing the progress increase with the fos:elastica:populate, when all the messages are consumed you should get a brand new and re-populated index.
143
147
144
148
` ` ` bash
0 commit comments