PluginProbe ʕ •ᴥ•ʔ
10Web Booster – Website speed optimization, Cache & Page Speed optimizer / trunk
10Web Booster – Website speed optimization, Cache & Page Speed optimizer vtrunk
2.33.0 2.30.5 2.30.7 2.30.9 2.31.10 2.31.8 2.32.11 2.32.21 2.32.3 2.32.4 2.32.7 2.6.31 2.6.40 2.6.42 2.6.7 2.7.37 2.7.44 2.7.47 2.8.18 2.8.19 2.8.32 2.8.34 2.8.35 2.9.23 2.9.24 2.9.25 2.9.27 v2.27.4 trunk 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.17 2.0.18 2.0.21 2.0.22 2.0.25 2.0.26 2.0.27 2.0.3 2.0.7 2.0.9 2.10.46 2.10.65 2.10.66 2.10.68 2.11.41 2.11.42 2.11.43 2.12.15 2.12.21 2.12.22 2.12.23 2.12.26 2.13.37 2.13.40 2.13.41 2.13.42 2.13.44 2.13.45 2.13.47 2.14.49 2.14.50 2.15.18 2.17.21 2.17.23 2.18.17 2.19.44 2.19.45 2.19.46 2.19.49 2.2.12 2.2.15 2.2.16 2.2.18 2.2.8 2.20.31 2.20.32 2.20.33 2.21.11 2.21.12 2.21.16 2.21.25 2.22.32 2.23.13 2.23.15 2.23.16 2.23.18 2.24.12 2.24.14 2.24.18 2.25.14 2.26.6 2.28.10 2.28.13 2.28.14 2.28.7 2.29.1 2.29.2 2.29.3 2.3.0 2.3.1 2.3.2 2.3.3 2.30.18
tenweb-speed-optimizer / vendor / 10web-utils / 10web-queue / src / TenWebQueue / Abstracts / QueueProducerAbstract.php
tenweb-speed-optimizer / vendor / 10web-utils / 10web-queue / src / TenWebQueue / Abstracts Last commit date
QueueConsumerAbstract.php 3 years ago QueueProducerAbstract.php 4 years ago
QueueProducerAbstract.php
74 lines
1 <?php
2 namespace TenWebQueue\Abstracts;
3
4 use Interop\Queue\Exception;
5 use Interop\Queue\Exception\InvalidDestinationException;
6 use Interop\Queue\Exception\InvalidMessageException;
7 use Interop\Queue\Producer;
8 use TenWebQueue\Interfaces\QueueProducerInterface;
9 use TenWebQueue\QueueContext;
10
11 abstract class QueueProducerAbstract implements QueueProducerInterface
12 {
13 /**
14 * @var QueueContext
15 */
16 private $queueContext;
17
18 /**
19 * @var Producer
20 */
21 private $producer;
22
23
24 /**
25 * @param QueueContext $context
26 */
27 public function __construct($context)
28 {
29 $this->queueContext = $context;
30 $this->producer = $this->queueContext->getContext()->createProducer();
31 }
32
33 /**
34 * @param array $data
35 *
36 * @return void
37 * @throws Exception
38 * @throws InvalidDestinationException
39 * @throws InvalidMessageException
40 */
41 public function enqueueOne($data = array())
42 {
43 $this->enqueue(json_encode($data));
44 }
45
46 /**
47 * @param array $data
48 *
49 * @return void
50 * @throws Exception
51 * @throws InvalidDestinationException
52 * @throws InvalidMessageException
53 */
54 public function enqueueMany($data = array())
55 {
56 foreach ($data as $item) {
57 $this->enqueue(json_encode($item));
58 }
59 }
60
61 /**
62 * @param $data
63 *
64 * @return void
65 * @throws Exception
66 * @throws InvalidDestinationException
67 * @throws InvalidMessageException
68 */
69 public function enqueue($data)
70 {
71 $message = $this->queueContext->getContext()->createMessage(json_encode($data));
72 $this->producer->send($this->queueContext->getQueue(), $message);
73 }
74 }