Skip to content

Discord 커맨드로 포럼 자동화 cron ON/OFF 제어 #37

@SamTheKorean

Description

@SamTheKorean

배경

현재 cron(*/20 * * * *)이 신청 기간과 무관하게 항상 실행됨. 신청 기간이 아닐 때도 포럼 채널을 계속 폴링하는 건 불필요한 낭비이고, 의도치 않은 처리가 발생할 수 있음.

제안

/cron on / /cron off 슬래시 커맨드로 자동화 활성화 여부를 제어.

구현 방향 검토

Option A: Cloudflare Workers KV로 상태 관리

  • KV에 CRON_ENABLED: true/false 저장
  • scheduled 핸들러 진입 시 KV 값 확인 후 early return
  • 장점: 배포 없이 즉시 on/off 가능
  • 단점: KV 추가 비용 (미미), KV 바인딩 설정 필요

Option B: Cloudflare Workers API로 cron 트리거 자체를 추가/제거

  • 장점: 진짜 cron이 멈춤
  • 단점: Workers API 호출 복잡, 배포에 준하는 작업

Option C: Discord 채널 ID를 env var로 관리, off 시 빈 값으로 설정

  • 단점: 배포 필요

Option A가 가장 현실적

구현 범위 (Option A 기준)

  • Cloudflare KV 네임스페이스 추가 (CRON_STATE)
  • /cron on / /cron off 슬래시 커맨드 등록
  • scheduled 핸들러에서 KV 값 확인
    const enabled = await env.CRON_STATE.get("enabled");
    if (enabled !== "true") return;
  • 커맨드 실행 시 KV 업데이트 + Discord에 결과 응답
  • 운영자 전용으로 권한 제한 필요 (특정 role 보유자만 실행 가능)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions