@tomei/customer-base
Version:
Tomei Customer Base Package
39 lines • 1.24 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.syncQueue = exports.getQueueConnection = void 0;
const bullmq_1 = require("bullmq");
const ioredis_1 = require("ioredis");
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((_a = DB_BY_ENV[ENV]) !== null && _a !== void 0 ? _a : 1),
password: process.env.REDIS_PASSWORD || undefined,
maxRetriesPerRequest: null,
});
function getQueueConnection() {
return connection;
}
exports.getQueueConnection = getQueueConnection;
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