66use Illuminate \Queue \InvalidPayloadException ;
77use Illuminate \Queue \Queue ;
88use LaravelQless \Contracts \JobHandler ;
9+ use LaravelQless \Job \AbstractJob ;
910use LaravelQless \Job \QlessJob ;
1011use Qless \Client ;
12+ use Qless \Jobs \BaseJob ;
1113use Qless \Topics \Topic ;
1214
1315/**
@@ -56,7 +58,7 @@ public function __construct(Client $connect, array $config)
5658 */
5759 public function size ($ queue = null ): int
5860 {
59- return $ this ->getConnection ()->length ($ queue );
61+ return $ this ->getConnection ()->length ($ queue ?? '' );
6062 }
6163
6264 /**
@@ -159,13 +161,14 @@ public function recur(int $interval, string $job, array $data, ?string $queueNam
159161 * Pop the next job off of the queue.
160162 *
161163 * @param string $queueName
162- * @return \Illuminate\Contracts\Queue\Job |null|QlessJob
164+ * @return QlessJob |null
163165 */
164166 public function pop ($ queueName = null )
165167 {
166168 /** @var \Qless\Queues\Queue $queue */
167169 $ queue = $ this ->getConnection ()->queues [$ queueName ];
168170
171+ /** @var BaseJob $job */
169172 $ job = $ queue ->pop (self ::WORKER_PREFIX . $ this ->connect ->getWorkerName ());
170173
171174 if (!$ job ) {
@@ -220,7 +223,7 @@ public function unSubscribe(string $topic, string $queueName = null): bool
220223 * @param array $options
221224 * @return array|string
222225 */
223- public function pushToTopic (string $ topicName , string $ job , array $ data = [], array $ options = []): array
226+ public function pushToTopic (string $ topicName , string $ job , array $ data = [], array $ options = [])
224227 {
225228 $ topic = new Topic ($ topicName , $ this ->getConnection ());
226229
@@ -247,10 +250,15 @@ public function pushToTopic(string $topicName, string $job, array $data = [], ar
247250 */
248251 protected function makePayload ($ job , $ data = [], $ options = []): string
249252 {
250- if (is_object ($ job )) {
253+ $ displayName = '' ;
254+ if ($ job instanceof AbstractJob) {
251255 $ displayName = get_class ($ job );
252256 $ data = array_merge ($ job ->toArray (), $ data );
253- } else {
257+ } elseif (is_object ($ job )) {
258+ $ displayName = get_class ($ job );
259+ }
260+
261+ if (is_string ($ job )) {
254262 $ displayName = explode ('@ ' , $ job )[0 ];
255263 }
256264
0 commit comments