为了账号安全,请及时绑定邮箱和手机立即绑定

laravel 怎么异步执行 自定义Artisan Command

laravel 怎么异步执行 自定义Artisan Command

PHP
吃鸡游戏 2018-11-13 20:07:59
目前项目中遇到一些耗时比较长的第三方请求,所以想着写一个command来异步执行这些耗时的第三方请求。在用户请求相关接口时触发command,然后异步执行command。这时用户不需一直等待command的结果,可以继续浏览。代码:public function sync(){         $enterId     = $this->request->input('enter_id');         $warehouseId = $this->request->input('warehouse_id');         $personId    = $this->request->attributes->get('person')->id;         $warehouse   = Warehouse::getById($warehouseId, $enterId);         $warehouse->syncValid(); //同步校验         $commandKey = ['key' => 'SYNC_FBA','enterprise' => $enterId, 'warehouse'=>$warehouseId];         $commandId  = CommandLog::getCommand($enterId,  $personId, $commandKey);         Artisan::call('sync:fba',[            'enterprise'=> $enterId,            '--warehouse'=> $warehouseId,            '--command'=> $commandId,            '--help'=>true         ]); //执行同步FBA         return $this->response(['data'=>['command_id'=>$commandId]]);     }请问各位大佬,怎样可以可以异步执行sync:fba这个命令
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 3204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信