feat: logs download events

This commit is contained in:
Brock H Caldwell
2025-11-01 23:58:15 -05:00
parent c4e8e9b35e
commit d28b743684
12 changed files with 195 additions and 2 deletions

View File

@@ -4,9 +4,12 @@ namespace App\Download\Downloader;
use App\Base\Service\Broadcaster;
use App\Base\Service\MediaFiles;
use App\Download\DownloadEvents;
use App\Download\Framework\Entity\Download;
use App\EventLog\Action\Command\AddEventLogCommand;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Cache\Adapter\RedisAdapter;
use Symfony\Component\Messenger\MessageBusInterface;
use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\Process;
use Symfony\Contracts\Cache\CacheInterface;
@@ -17,6 +20,7 @@ class ProcessDownloader implements DownloaderInterface
* @var RedisAdapter $cache
*/
public function __construct(
private MessageBusInterface $bus,
private EntityManagerInterface $entityManager,
private MediaFiles $mediaFiles,
private CacheInterface $cache,
@@ -88,6 +92,12 @@ class ProcessDownloader implements DownloaderInterface
}
} catch (ProcessFailedException $exception) {
$downloadEntity->setStatus('Failed');
$this->bus->dispatch(new AddEventLogCommand(
$downloadEntity->getUser()->getId(),
DownloadEvents::DOWNLOAD_ERROR->type(),
DownloadEvents::DOWNLOAD_ERROR->message() . ': ' . $exception->getMessage(),
(array) $downloadEntity
));
}
$this->entityManager->flush();