오픈소스 직접뷰어 기능 추가
This commit is contained in:
52
local_clear_queue.js
Normal file
52
local_clear_queue.js
Normal file
@@ -0,0 +1,52 @@
|
||||
/**
|
||||
* PM ver4.0 - Redis convert-pdf 큐 전체 초기화 스크립트
|
||||
*
|
||||
* 이 스크립트는 Redis에 쌓여있는 'convert-pdf' 대기열의 모든 작업(대기 중, 실패 등)을 제거합니다.
|
||||
*
|
||||
* [실행 방법]
|
||||
* node local_clear_queue.js
|
||||
*/
|
||||
|
||||
const { Queue } = require('bullmq');
|
||||
const Redis = require('ioredis');
|
||||
require('dotenv').config();
|
||||
|
||||
console.log('Redis Host:', process.env.REDIS_HOST || 'localhost');
|
||||
console.log('Redis Port:', process.env.REDIS_PORT || 6379);
|
||||
|
||||
const connection = new Redis({
|
||||
host: process.env.REDIS_HOST || 'localhost',
|
||||
port: +(process.env.REDIS_PORT || 6379),
|
||||
maxRetriesPerRequest: null,
|
||||
password: process.env.REDIS_PASSWORD || undefined
|
||||
});
|
||||
|
||||
connection.on('connect', async () => {
|
||||
console.log('✔️ Connected to Redis. Clearing queue...');
|
||||
try {
|
||||
const queueName = 'convert-pdf';
|
||||
const queue = new Queue(queueName, { connection });
|
||||
|
||||
// 대기 중인 작업 모두 제거 (drain)
|
||||
await queue.drain();
|
||||
console.log(`🧹 ${queueName} 큐의 대기 중인 모든 작업을 제거했습니다.`);
|
||||
|
||||
// 완료/실패 작업도 청소
|
||||
await queue.clean(0, 0, 'completed');
|
||||
await queue.clean(0, 0, 'failed');
|
||||
console.log('🧹 완료 및 실패 내역을 청소했습니다.');
|
||||
|
||||
const counts = await queue.getJobCounts();
|
||||
console.log('\n--- 현재 큐 상태 ---');
|
||||
console.log(JSON.stringify(counts, null, 2));
|
||||
|
||||
} catch (err) {
|
||||
console.error('❌ 에러 발생:', err);
|
||||
} finally {
|
||||
connection.disconnect();
|
||||
}
|
||||
});
|
||||
|
||||
connection.on('error', (err) => {
|
||||
console.error('❌ Redis Connection Error:', err);
|
||||
});
|
||||
Reference in New Issue
Block a user