@@ -44,69 +44,49 @@ public function __construct(AMQPConnection $amqpConnection, $config)
4444 */
4545 public function push ($ job , $ data = '' , $ queue = null )
4646 {
47- $ queue = $ this ->getQueueName ($ queue );
48- $ payload = $ this ->createPayload ($ job , $ data );
49- $ this ->declareQueue ($ queue );
50-
51- // push job to a queue
52- $ message = new AMQPMessage ($ payload , [
53- 'Content-Type ' => 'application/json ' ,
54- 'delivery_mode ' => 2 ,
55- ]);
56-
57- $ this ->channel ->basic_publish ($ message , $ queue , $ queue );
58-
59- return true ;
47+ return $ this ->pushRaw ($ this ->createPayload ($ job , $ data ), $ queue , []);
6048 }
6149
6250 /**
63- * Push a raw payload onto the queue.
51+ * Push a new job onto the queue after a delay .
6452 *
65- * @param string $payload
66- * @param string $queue
67- * @param array $options
53+ * @param \DateTime|int $delay
54+ * @param string $job
55+ * @param mixed $data
56+ * @param string $queue
6857 *
6958 * @return mixed
7059 */
71- public function pushRaw ( $ payload , $ queue = null , array $ options = [] )
60+ public function later ( $ delay , $ job , $ data = '' , $ queue = null )
7261 {
73- $ queue = $ this ->getQueueName ($ queue );
74- $ this ->declareQueue ($ queue );
75-
76- // push job to a queue
77- $ message = new AMQPMessage ($ payload , [
78- 'Content-Type ' => 'application/json ' ,
79- 'delivery_mode ' => 2 ,
80- ]);
81-
82- // push task to a queue
83- $ this ->channel ->basic_publish ($ message , $ queue , $ queue );
84-
85- return true ;
62+ return $ this ->pushRaw ($ this ->createPayload ($ job , $ data ), $ queue , ['delay ' => $ delay ]);
8663 }
8764
8865 /**
89- * Push a new job onto the queue after a delay .
66+ * Push a raw payload onto the queue.
9067 *
91- * @param \DateTime|int $delay
92- * @param string $job
93- * @param mixed $data
94- * @param string $queue
68+ * @param string $payload
69+ * @param string $queue
70+ * @param array $options
9571 *
9672 * @return mixed
9773 */
98- public function later ( $ delay , $ job , $ data = '' , $ queue = null )
74+ public function pushRaw ( $ payload , $ queue = null , array $ options = [] )
9975 {
100- $ payload = $ this ->createPayload ( $ job , $ data );
76+ $ queue = $ this ->getQueueName ( $ queue );
10177 $ this ->declareQueue ($ queue );
102- $ queue = $ this ->declareDelayedQueue ($ queue , $ delay );
78+ if (isset ($ options ['delay ' ]))
79+ {
80+ $ queue = $ this ->declareDelayedQueue ($ queue , $ options ['delay ' ]);
81+ }
10382
10483 // push job to a queue
10584 $ message = new AMQPMessage ($ payload , [
10685 'Content-Type ' => 'application/json ' ,
10786 'delivery_mode ' => 2 ,
10887 ]);
10988
89+ // push task to a queue
11090 $ this ->channel ->basic_publish ($ message , $ queue , $ queue );
11191
11292 return true ;
0 commit comments