Files
sena_db_api_layer/ecosystem.config.js
silverpro89 0354565f4a
All checks were successful
Deploy to Production / deploy (push) Successful in 21s
update CICD
2026-01-27 18:39:58 +07:00

103 lines
2.5 KiB
JavaScript

/**
* PM2 Ecosystem Configuration
* Quản lý các process của Sena School Management System
*/
module.exports = {
apps: [
// Main API Server
{
name: 'sena-api',
script: './server.js',
instances: 2, // Chạy 2 instances để tận dụng CPU
exec_mode: 'cluster',
env: {
NODE_ENV: 'production',
PORT: 10001,
},
env_development: {
NODE_ENV: 'development',
PORT: 10001,
},
error_file: './logs/api-error.log',
out_file: './logs/api-out.log',
log_date_format: 'YYYY-MM-DD HH:mm:ss',
merge_logs: true,
max_memory_restart: '1G',
autorestart: true,
watch: false,
max_restarts: 10,
min_uptime: '10s',
},
// Database Write Worker
{
name: 'worker-db-write',
script: './workers/databaseWriteWorker.js',
instances: 1,
exec_mode: 'fork',
env: {
NODE_ENV: 'production',
},
env_development: {
NODE_ENV: 'development',
},
error_file: './logs/worker-db-write-error.log',
out_file: './logs/worker-db-write-out.log',
log_date_format: 'YYYY-MM-DD HH:mm:ss',
merge_logs: true,
max_memory_restart: '512M',
autorestart: true,
watch: false,
max_restarts: 10,
min_uptime: '10s',
},
// Lesson Data Fill Worker
{
name: 'worker-lesson-fill',
script: './workers/lessonDataFillWorker.js',
instances: 1,
exec_mode: 'fork',
env: {
NODE_ENV: 'production',
},
env_development: {
NODE_ENV: 'development',
},
error_file: './logs/worker-lesson-fill-error.log',
out_file: './logs/worker-lesson-fill-out.log',
log_date_format: 'YYYY-MM-DD HH:mm:ss',
merge_logs: true,
max_memory_restart: '512M',
autorestart: true,
watch: false,
max_restarts: 10,
min_uptime: '10s',
},
// Process Data Worker
{
name: 'worker-process-data',
script: './workers/processDataWorker.js',
instances: 2, // Chạy 2 instances để xử lý song song
exec_mode: 'fork',
env: {
NODE_ENV: 'production',
},
env_development: {
NODE_ENV: 'development',
},
error_file: './logs/worker-process-data-error.log',
out_file: './logs/worker-process-data-out.log',
log_date_format: 'YYYY-MM-DD HH:mm:ss',
merge_logs: true,
max_memory_restart: '512M',
autorestart: true,
watch: false,
max_restarts: 10,
min_uptime: '10s',
},
],
};