1 回答

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以通過(guò)在作業(yè)類上調(diào)用靜態(tài)方法并將作業(yè)的構(gòu)造函數(shù)參數(shù)傳遞給該方法來(lái)分派作業(yè),如下所示:dispatchdispatch
ReProcessShipment::dispatch($single_data->request_data)->delay(2);
確保您使用Illuminate\Foundation\Bus\Dispatchabletrait 能夠調(diào)用dispatch作業(yè)類,例如:
use Illuminate\Foundation\Bus\Dispatchable;
class ProcessPodcast implements ShouldQueue
{
use Dispatchable, ...
如果您查看源代碼,您會(huì)發(fā)現(xiàn)靜態(tài)dispatch函數(shù)使用作業(yè)的參數(shù)為您創(chuàng)建作業(yè),因此您無(wú)需在調(diào)度作業(yè)之前創(chuàng)建作業(yè)。這是dispatch函數(shù)的來(lái)源:
public static function dispatch()
{
return new PendingDispatch(new static(...func_get_args()));
}
所以它本質(zhì)上改變了這個(gè):
ReProcessShipment::dispatch($single_data->request_data);
進(jìn)入這個(gè):
new PendingDispatch(new ReProcessShipment($single_data->request_data));
- 1 回答
- 0 關(guān)注
- 183 瀏覽
添加回答
舉報(bào)