Files
flyer-crawler.projectium.com/ecosystem.config.cjs
Torben Sorensen 893ae6da53
All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 4m19s
additional background job work
2025-12-03 15:32:09 -08:00

45 lines
1.7 KiB
JavaScript

// ecosystem.config.cjs
// This file is the standard way to configure applications for PM2.
// It allows us to define all the settings for our application in one place.
// The .cjs extension is required because the project's package.json has "type": "module".
module.exports = {
apps: [
{
name: 'flyer-crawler-api', // The name of our API application in PM2
// Use tsx as the interpreter and pass the preload script via node_args.
script: './node_modules/.bin/tsx',
args: 'server.ts',
node_args: '-r ./preload.ts',
// Explicitly set the working directory. This is crucial for reliability.
cwd: '/var/www/flyer-crawler.projectium.com',
env_production: {
NODE_ENV: 'production', // Set the Node.js environment to production
},
},
{
name: 'flyer-crawler-worker', // The name of our worker process in PM2
// Use the same preload mechanism for the worker.
script: './node_modules/.bin/tsx',
args: 'src/services/queueService.server.ts',
node_args: '-r ./preload.ts',
// Explicitly set the working directory.
cwd: '/var/www/flyer-crawler.projectium.com',
env_production: {
NODE_ENV: 'production',
},
},
{
name: 'flyer-crawler-analytics-worker', // A dedicated worker for analytics
// Use the same preload mechanism.
script: './node_modules/.bin/tsx',
// Point to the main worker service file. It will start all workers.
args: 'src/services/queueService.server.ts',
node_args: '-r ./preload.ts',
cwd: '/var/www/flyer-crawler.projectium.com',
env_production: {
NODE_ENV: 'production',
},
},
],
};