@tomei/customer-base
Version:
Tomei Customer Base Package
40 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.syncQueue = void 0;
exports.getQueueConnection = getQueueConnection;
const bullmq_1 = require("bullmq");
const ioredis_1 = require("ioredis");
const dotenv = require('dotenv');
dotenv.config();
const ENV = process.env.ENV || process.env.NODE_ENV || 'local';
const DB_BY_ENV = {
test: 3,
staging: 2,
production: 1,
prod: 1,
local: 1,
};
const connection = new ioredis_1.Redis({
host: process.env.REDIS_HOST || 'localhost',
port: parseInt(process.env.REDIS_PORT || '6379'),
db: Number(DB_BY_ENV[ENV] ?? 1),
password: process.env.REDIS_PASSWORD || undefined,
maxRetriesPerRequest: null,
});
function getQueueConnection() {
return connection;
}
exports.syncQueue = new bullmq_1.Queue('syncQueue', {
connection,
prefix: `cb:${ENV}`,
defaultJobOptions: {
attempts: +(process.env.SYNC_JOB_ATTEMPTS || 3),
backoff: {
type: 'exponential',
delay: +(process.env.SYNC_JOB_BACKOFF || 1000),
},
removeOnComplete: true,
removeOnFail: false,
},
});
//# sourceMappingURL=sync-queue.js.map