Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Feature - 스케줄러의 Job을 Redis로 관리하는 기능 추가 #105

Merged
merged 9 commits into from
Nov 23, 2024

Conversation

dongkyeomjang
Copy link
Collaborator

Related issue 🛠

closed #104

어떤 변경사항이 있었나요?

  • 🐞 BugFix Something isn't working
  • 💻 CrossBrowsing Browser compatibility
  • 🌏 Deploy Deploy
  • 🎨 Design Markup & styling
  • 📃 Docs Documentation writing and editing (README.md, etc.)
  • ✨ Feature Feature
  • 🔨 Refactor Code refactoring
  • ⚙️ Setting Development environment setup
  • ✅ Test Test related (storybook, jest, etc.)

CheckPoint ✅

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • PR 컨벤션에 맞게 작성했습니다. (필수)
  • Docker Container 환경으로 변경 사항에 대한 테스트를 했습니다.(버그 수정/기능에 대한 테스트). (필수)
  • Feature의 경우, API 문서 업데이트를 완료했습니다. (선택)
  • BugFix의 경우, 버그의 원인을 파악하였습니다. (선택)

Work Description ✏️

스케줄러에 Job이 등록되어있는 상황에서 Main Server가 버전업데이트 등의 이슈로 내려가면, 등록된 Job들이 전부 죽어버리는 문제가 발생했다.
서비스 로직 상, 이벤트가 생성되기 위해서는 이전의 이벤트가 끝나야만 했는데, 스케줄러에 등록된 Job이 죽어버림으로써 이후 서버 재실행 시 가게에 대한 새로운 이벤트가 생성되지 않는 문제로 이어졌다.
글로벌 Job Queue에 스케줄러가 수행해야할 Job을 등록함으로써 이를 해결한다.
스케줄러에 등록됨과 동시에 해당 Job 내용을 Redis에 저장하고, 서버가 재실행 될 시 Redis에서 Trigger Time을 불러와, 현재 시각과 비교하여 이미 지난 Job이라면 즉시 실행하고, 미래의 Job이라면 스케줄러에 재등록한다.

Uncompleted Tasks 😅

N/A

To Reviewers 📢

@dongkyeomjang dongkyeomjang added ✨ Feature 기능 개발 dongkyeomjang assigned to dongkyeomjang labels Nov 23, 2024
@dongkyeomjang dongkyeomjang self-assigned this Nov 23, 2024
@dongkyeomjang dongkyeomjang linked an issue Nov 23, 2024 that may be closed by this pull request
1 task
@dongkyeomjang dongkyeomjang merged commit e007c42 into dev Nov 23, 2024
1 check passed
@dongkyeomjang dongkyeomjang deleted the Feature/#104 branch November 23, 2024 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dongkyeomjang assigned to dongkyeomjang ✨ Feature 기능 개발
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨ Feature - 스케줄러의 Job을 Redis로 관리하는 기능 추가
1 participant