created API For Aplication Absensi
This commit is contained in:
42
app/config/rabbitmq.config.js
Normal file
42
app/config/rabbitmq.config.js
Normal file
@@ -0,0 +1,42 @@
|
||||
require('dotenv').config();
|
||||
|
||||
const parseNumber = (value, fallback) => {
|
||||
const parsed = Number(value);
|
||||
return Number.isNaN(parsed) ? fallback : parsed;
|
||||
};
|
||||
|
||||
const retryDelayMs = parseNumber(process.env.RABBITMQ_RETRY_DELAY_MS, 6000);
|
||||
|
||||
const exchangeName = process.env.RABBITMQ_EXCHANGE || 'ai.story.exchange';
|
||||
|
||||
const config = {
|
||||
url: process.env.RABBITMQ_URL || 'amqp://guest:guest@localhost:5672',
|
||||
prefetch: parseNumber(process.env.RABBITMQ_PREFETCH, 1),
|
||||
retry: {
|
||||
maxAttempts: parseNumber(process.env.RABBITMQ_MAX_RETRY_ATTEMPTS, 5),
|
||||
delayMs: retryDelayMs,
|
||||
},
|
||||
exchange: {
|
||||
name: exchangeName,
|
||||
type: process.env.RABBITMQ_EXCHANGE_TYPE || 'direct',
|
||||
routingKeys: {
|
||||
story: process.env.RABBITMQ_STORY_ROUTING_KEY || 'story.generate',
|
||||
retry: process.env.RABBITMQ_RETRY_ROUTING_KEY || 'story.generate.retry',
|
||||
deadLetter: process.env.RABBITMQ_DEAD_LETTER_ROUTING_KEY || 'story.generate.dead',
|
||||
},
|
||||
},
|
||||
queues: {
|
||||
storyGeneration: {
|
||||
name: process.env.RABBITMQ_QUEUE || 'ai.story.queue',
|
||||
},
|
||||
retry: {
|
||||
name: process.env.RABBITMQ_RETRY_QUEUE || 'ai.story.retry.queue',
|
||||
messageTtl: retryDelayMs,
|
||||
},
|
||||
deadLetter: {
|
||||
name: process.env.RABBITMQ_DEAD_LETTER_QUEUE || 'ai.story.dlq',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
Reference in New Issue
Block a user