All checks were successful
Deploy to Web Server flyer-crawler.projectium.com / deploy (push) Successful in 4m19s
45 lines
1.7 KiB
JavaScript
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',
|
|
},
|
|
},
|
|
],
|
|
}; |