外部 Artisan::call 异步的问题
事情是酱紫的,我有一个任务,我想通过ajax发送一个请求,然后执行Artisan::call 然后不等待,直接返回一个状态码;
比如我在A页面通过ajax发起一个请求给B
B收到请求,执行Artisan::call() 返回一个状态码, 这个时候我发现ajax一直在等待,状态码一直没返回;
那么问题来了,是不是Artisan::call堵塞了?
B页面代码:
public function initStorage() {
$params = Request()->all();
Artisan::call('command:MovieInit', [
'method'=>'init', 'disk_id'=>$params['disk_id'], 'recursive'=>$params['recursive'], 'path'=>$params['path']
]);
return response()->json(['code' => 0, 'msg' => '完成!']);
}
我就是想执行Artisan::call() 然后不等待,直接执行 return response()->json(['code' => 0, 'msg' => '完成!']);
可是现在一直在等待。这咋办?就不能丢去后台么?
我木有用别的东西,就只有mysql,各位不要说用队列解决。
我只是想搞明白。这个位置是不是堵塞了?
如果是堵塞了,请问有啥办法曲线救国?
response()->json()->send()
放前面, 不要写 return在后面执行 artisan 命令再 return
ref: http://www.laruence.com/2011/04/13/1991.ht...