fix: rename pm2 worker and invoke tsx directly instead of npm

pm2 fork mode require()s the resolved script rather than spawning a
shell, and on o2switch `npm` resolves to CloudLinux's bash npm_wrapper,
so pm2 crashed instantly (SyntaxError) and restart-looped forever.
Point pm2 at tsx's real ESM entry (node_modules/tsx/dist/cli.mjs)
instead. Also renames the pm2 process to video-downloader-worker.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 16:21:25 +02:00
co-authored by Claude Sonnet 5
parent fd0bc092bd
commit 771297cdf1
3 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -80,7 +80,7 @@ L'interface est accessible sur [http://localhost:3000](http://localhost:3000).
| `npm run worker:pm2:start` | Démarre le worker sous pm2 (`ecosystem.config.cjs`), avec auto-restart |
| `npm run worker:pm2:stop` | Arrête le worker géré par pm2 |
| `npm run worker:pm2:restart` | Redémarre le worker géré par pm2 |
| `npm run worker:pm2:status` | Affiche l'état du process `ombrora-worker` |
| `npm run worker:pm2:status` | Affiche l'état du process `video-downloader-worker` |
| `npm run worker:pm2:logs` | Affiche les logs du worker géré par pm2 |
| `npm run worker:cleanup` | Expire et supprime les fichiers anciens (usage cron) |
| `npm run db:migrate` | Crée et applique les migrations Prisma (dev, interactif) |
@@ -157,7 +157,7 @@ worker/
messages/ # Traductions (en.json, fr.json, es.json, it.json)
server.js # Serveur HTTP custom (fichier de démarrage Passenger sur o2switch)
ecosystem.config.cjs # Config pm2 du process "ombrora-worker"
ecosystem.config.cjs # Config pm2 du process "video-downloader-worker"
prisma/
└── schema.prisma # Modèles : Download, DownloadToken
+3 -3
View File
@@ -1,9 +1,9 @@
module.exports = {
apps: [
{
name: 'ombrora-worker',
script: 'npm',
args: 'run worker',
name: 'video-downloader-worker',
script: 'node_modules/tsx/dist/cli.mjs',
args: 'worker/index.ts',
cwd: __dirname,
autorestart: true,
max_restarts: 10,
+2 -2
View File
@@ -16,8 +16,8 @@
"worker:pm2:start": "pm2 start ecosystem.config.cjs",
"worker:pm2:stop": "pm2 stop ecosystem.config.cjs",
"worker:pm2:restart": "pm2 restart ecosystem.config.cjs",
"worker:pm2:status": "pm2 status ombrora-worker",
"worker:pm2:logs": "pm2 logs ombrora-worker",
"worker:pm2:status": "pm2 status video-downloader-worker",
"worker:pm2:logs": "pm2 logs video-downloader-worker",
"db:migrate": "prisma migrate dev",
"db:migrate:deploy": "prisma migrate deploy",
"db:generate": "prisma generate",