make(Kernel::class)->bootstrap(); if (! $app->environment('testing') || DB::connection()->getDatabaseName() !== $database) { throw new LogicException('Worker não isolado.'); } DB::select('select set_config(?, ?, false)', ['application_name', 'sgc_invoice_'.$argv[4]]); $pid = DB::selectOne('select pg_backend_pid() as pid')->pid; $user = User::query()->findOrFail($argv[2]); auth()->guard()->setUser($user); try { app(InvoiceWorkflow::class)->validate($user, Invoice::query()->findOrFail($argv[3])); $status = 200; } catch (ValidationException) { $status = 422; } echo json_encode(['status' => $status, 'backend_pid' => $pid], JSON_THROW_ON_ERROR);