Skip to content

Commit a356e22

Browse files
committed
hotfix: gpt prompt 수정 및 실패 큐 수정
1 parent 60d61f9 commit a356e22

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

src/main/java/com/haru/api/infra/api/client/ChatGPTClient.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,9 @@ public Mono<SurveyReportResponse> getMoodTrackerReport(String userMessageContent
155155
sb.append("### 3. 자유 응답 기반 주요 키워드 정리\n");
156156
sb.append(" - 예: 잦힌 (37건), 말은 덜 불분명 (29건) 등\n\n");
157157

158-
sb.append("응답은 반드시 다음 JSON 형식으로 해줘. 벡틱(`)과 json 표시는 제외하고 본문만 출력해줘야해. 형식만 따르고, 값은 생성한 값을 넣어줘야해. 질문에 대한 제안은 입력받은 질문 Id와 해당 질문에 매칭되는 제안 내용을 넣어줘. : \n");
158+
sb.append("응답은 반드시 다음 JSON 형식으로 해줘. 반드시 순수 JSON만 반환하세요. \n");
159+
sb.append("```json, ``` 와 같은 마크다운 포맷은 절대 포함하지 마세요.\\n\"");
160+
sb.append(" 아래의 형식만 따르고, 값은 생성한 값을 넣어줘야해. 질문에 대한 제안은 입력받은 질문 Id와 해당 질문에 매칭되는 제안 내용을 넣어줘. : \n");
159161
sb.append("{\n");
160162
sb.append(" \"report\": \"전체 리포트 마크다운 텍스트\",\n");
161163
sb.append(" \"suggestionsByQuestionId\": {\n");

src/main/java/com/haru/api/infra/redis/RedisReportConsumer.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,9 @@ public void pollQueueEvery5Minutes() {
5959
}
6060
}
6161

62-
@Scheduled(cron = "0 0/1 * * * *") // 정각부터 5분 마다 실행
62+
@Scheduled(cron = "0 0/1 * * * *") // 매 1분
6363
public void pollFailedQueueEvery1Minutes() {
6464
long now = Instant.now().getEpochSecond();
65-
log.info("[RedisReportConsumer] pollQueueEvery5Minutes 실행됨 (now = {})", now);
66-
6765
Set<String> failedIds = redisTemplate.opsForZSet()
6866
.rangeByScore(FAILED_QUEUE, 0, now, 0, BATCH_SIZE);
6967

@@ -72,17 +70,13 @@ public void pollFailedQueueEvery1Minutes() {
7270
return;
7371
}
7472

75-
log.info("[RedisReportConsumer] 실패 큐 처리할 dueIds: {}", failedIds);
76-
7773
for (String id : failedIds) {
78-
try {
79-
reportService.generateAndUploadReportFileAndThumbnail(Long.valueOf(id));
74+
// 다시 Worker 큐로 push
75+
redisTemplate.opsForList().leftPush(WORKER_QUEUE, id);
76+
log.info("[RedisReportConsumer] 실패 큐 → 워커 큐 이동: {}", id);
8077

81-
// 실패 큐에서 제거
82-
redisTemplate.opsForZSet().remove(FAILED_QUEUE, id);
83-
} catch (Exception e) {
84-
log.error("[RedisReportConsumer] 실패 큐 재실행 중 에러 → {}", id, e);
85-
}
78+
// 실패 큐에서 제거
79+
redisTemplate.opsForZSet().remove(FAILED_QUEUE, id);
8680
}
8781
}
8882

0 commit comments

Comments
 (0)