@@ -85,6 +85,7 @@ public function size($queue = null)
85
85
*
86
86
* @return mixed
87
87
* @throws \ReflectionException
88
+ * @throws \Exception
88
89
*/
89
90
public function push ($ job , $ data = '' , $ queue = null )
90
91
{
@@ -112,6 +113,7 @@ public function push($job, $data = '', $queue = null)
112
113
* @return \Freyo\LaravelQueueCMQ\Queue\Driver\Message|array
113
114
* @throws \Freyo\LaravelQueueCMQ\Queue\Driver\CMQServerNetworkException
114
115
* @throws \Freyo\LaravelQueueCMQ\Queue\Driver\CMQServerException
116
+ * @throws \Exception
115
117
*/
116
118
public function pushRaw ($ payload , $ queue = null , array $ options = [])
117
119
{
@@ -122,17 +124,23 @@ public function pushRaw($payload, $queue = null, array $options = [])
122
124
if ($ driver instanceof Topic) {
123
125
switch ($ this ->topicOptions ['filter ' ]) {
124
126
case self ::CMQ_TOPIC_TAG_FILTER_NAME :
125
- return $ driver ->publish_message ($ message ->msgBody , explode (', ' , $ queue ), null );
127
+ return retry (3 , function () use ($ driver , $ message , $ queue ) {
128
+ return $ driver ->publish_message ($ message ->msgBody , explode (', ' , $ queue ), null );
129
+ });
126
130
case self ::CMQ_TOPIC_ROUTING_FILTER_NAME :
127
- return $ driver ->publish_message ($ message ->msgBody , [], $ queue );
131
+ return retry (3 , function () use ($ driver , $ message , $ queue ) {
132
+ $ driver ->publish_message ($ message ->msgBody , [], $ queue );
133
+ });
128
134
default :
129
135
throw new \InvalidArgumentException (
130
136
'Invalid CMQ topic filter: ' . $ this ->topicOptions ['filter ' ]
131
137
);
132
138
}
133
139
}
134
140
135
- return $ driver ->send_message ($ message , Arr::get ($ options , 'delay ' , 0 ));
141
+ return retry (3 , function () use ($ driver , $ message , $ options ) {
142
+ return $ driver ->send_message ($ message , Arr::get ($ options , 'delay ' , 0 ));
143
+ });
136
144
}
137
145
138
146
/**
@@ -145,6 +153,7 @@ public function pushRaw($payload, $queue = null, array $options = [])
145
153
*
146
154
* @return mixed
147
155
* @throws \ReflectionException
156
+ * @throws \Exception
148
157
*/
149
158
public function later ($ delay , $ job , $ data = '' , $ queue = null )
150
159
{
@@ -179,7 +188,7 @@ public function pop($queue = null)
179
188
$ queue = $ this ->getQueue ($ queue );
180
189
$ message = $ queue ->receive_message ($ this ->queueOptions ['polling_wait_seconds ' ]);
181
190
} catch (CMQServerException $ e ) {
182
- if ((int )$ e ->getCode () === self :: CMQ_QUEUE_NO_MESSAGE_CODE ) { //ignore no message
191
+ if (self :: CMQ_QUEUE_NO_MESSAGE_CODE === (int )$ e ->getCode ()) { //ignore no message
183
192
return null ;
184
193
}
185
194
throw $ e ;
0 commit comments