Laravel 队列 PushRaw 延迟?
Laravel Queue PushRaw Delay?
我有一个应用程序,其中从 laravel 4.2 我正在慢慢地将它过渡到节点。
现在我有了这个 Queue::pushRaw(payload, tube)
工作在节点中,这段代码工作得很好。
但是我最近遇到了一个问题,我需要延迟这些作业。
我以前用过Queue::later
(当时我的工作还在Laravel),但是我怎么用Queue::pushRaw
呢??我不能再使用 Queue::later
因为我传递的是原始有效负载而不是作业。
根据我可以通过的文件options
https://laravel.com/api/4.2/Illuminate/Queue/QueueInterface.html
但是,我不知道该传递什么 options
来延迟。
经过进一步调查,我发现了这个文件:https://github.com/laravel/framework/blob/4.2/src/Illuminate/Queue/BeanstalkdQueue.php#L66(我正在使用 Beanstald)
你不能真正传递延迟,因为 DEFAULT_DELAY 是 0。
所以我的解决方案是在 Laravel.
中创建一个工作
然后我可以Queue::later(delay, myJobThatCallsThePushRaw, data, queue);
然后在 myJobThatCallsThePushRaw
我在里面做 Queue::pushRaw(my-node-payload)
。
希望这对以后的人有所帮助。
我有一个应用程序,其中从 laravel 4.2 我正在慢慢地将它过渡到节点。
现在我有了这个 Queue::pushRaw(payload, tube)
工作在节点中,这段代码工作得很好。
但是我最近遇到了一个问题,我需要延迟这些作业。
我以前用过Queue::later
(当时我的工作还在Laravel),但是我怎么用Queue::pushRaw
呢??我不能再使用 Queue::later
因为我传递的是原始有效负载而不是作业。
根据我可以通过的文件options
https://laravel.com/api/4.2/Illuminate/Queue/QueueInterface.html
但是,我不知道该传递什么 options
来延迟。
经过进一步调查,我发现了这个文件:https://github.com/laravel/framework/blob/4.2/src/Illuminate/Queue/BeanstalkdQueue.php#L66(我正在使用 Beanstald)
你不能真正传递延迟,因为 DEFAULT_DELAY 是 0。
所以我的解决方案是在 Laravel.
中创建一个工作然后我可以Queue::later(delay, myJobThatCallsThePushRaw, data, queue);
然后在 myJobThatCallsThePushRaw
我在里面做 Queue::pushRaw(my-node-payload)
。
希望这对以后的人有所帮助。