Closed MarsTify closed 11 months ago
software version
Detail description about this issue(error/log)
如题所描述的: 命名空间App\Console\Commands下的创建的自定义命令中调用app('swoole')显示Target class [swoole] does not exist; 而在控制器中却可以正常调用.
App\Console\Commands
app('swoole')
Target class [swoole] does not exist
Some reproducible code blocks and steps
reproducible
steps
namespace App\Console\Commands; use App\Jobs\WebsocketDisconnectionJob; use Carbon\Carbon; use Illuminate\Console\Command; class WebSocketMonitor extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'ws-monitor'; /** * The console command description. * * @var string */ protected $description = 'websocket available connections monitor'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { try { // 检测 ws连接池 可用链接 $availableConnections = collect(app('swoole')->connections) ->filter(function ($id) { return app('swoole')->isEstablished($id); }); if ($availableConnections->count() == 0) { // 通报 dispatch(new WebsocketDisconnectionJob()); $now = Carbon::now(); $this->info("[$now] ws-monitor websocket disconnection report!"); } return true; } catch (\Exception $e) { $time = Carbon::now(); $this->error("[{$time}] ws-monitor error: {$e->getMessage()}"); return false; } } }
常见问题第一条
明白了, 感谢回复!
software version
Detail description about this issue(error/log)
如题所描述的: 命名空间
App\Console\Commands
下的创建的自定义命令中调用app('swoole')
显示Target class [swoole] does not exist
; 而在控制器中却可以正常调用.Some
reproducible
code blocks andsteps