📁
SKYSHELL MANAGER
PHP v8.2.31
Create
Create
Path:
root
/
home
/
thevaxnx
/
nativize.com
/
staging
/
wp-includes
/
js
/
tinymce
/
themes
/
Name
Size
Perm
Actions
📁
inlite
-
0755
🗑️
🏷️
🔒
📁
modern
-
0755
🗑️
🏷️
🔒
📄
wp-links-opml.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: RunBackgroundHandlersCommand.php
<?php namespace App\Command; use Psr\Log\LoggerInterface; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\DependencyInjection\Attribute\Autowire; use Symfony\Component\Process\Process; #[AsCommand( name: 'app:run-background-handlers', description: 'Execute queued handlers', )] class RunBackgroundHandlersCommand extends Command { public function __construct( private readonly LoggerInterface $runBackgroundHandlerLogger, #[Autowire(param: 'rpcHandler.backgroundJobsPath')] private readonly string $backgroundJobsPath, ) { parent::__construct(); } protected function configure(): void { $this ->addArgument('dataFilePath', InputArgument::OPTIONAL, 'Path to jobs json file', $this->backgroundJobsPath) ; } protected function execute(InputInterface $input, OutputInterface $output): int { $this->runBackgroundHandlerLogger->debug('Command app:run-background-handlers was started!'); $dataFilePath = $input->getArgument('dataFilePath'); if (file_exists($dataFilePath)) { $dataFilePathTemp = implode('.', [$dataFilePath, uniqid('', true)]); rename($dataFilePath, $dataFilePathTemp); $lines = file($dataFilePathTemp, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach ($lines as $jsonData) { $this->runCommand($jsonData); } unlink($dataFilePathTemp); return Command::SUCCESS; } return Command::INVALID; } /** * @param string $jsonData handler arguments as json string */ private function runCommand(string $jsonData): void { $consoleCommand = $this->getConsoleCommand($jsonData); $process = new Process($consoleCommand); $process->run(); if (!$process->isSuccessful()) { $this->runBackgroundHandlerLogger->error('Error occurred while processing background command: ' . $jsonData, [ 'outputError' => $process->getErrorOutput(), 'requestData' => $jsonData ]); } } /** * @param string $jsonData * * @return array */ private function getConsoleCommand(string $jsonData): array { $b64data = base64_encode(trim($jsonData)); $executablePath = $this->getExecutablePath(); return [PHP_BINARY, $executablePath, 'app:rpc-handler', $b64data]; } /** * @return string */ private function getExecutablePath(): string { $trace = debug_backtrace(); return end($trace)['file']; } }
Save