피드로 돌아가기
Dev.toBackend
원문 읽기
External API 및 벌크 작업의 Async 전환을 통한 시스템 응답성 확보 및 11종 Job 자동화
Async Everything: Why Background Processing Matters for Operational Software
AI 요약
Context
동기식 처리 구조로 인한 외부 API 지연 및 대량 데이터 처리 시 브라우저 타임아웃 발생. 특히 Salesforce 및 Shippo API의 응답 시간 가변성에 따른 사용자 경험 저하와 부분 데이터 생성 문제 노출.
Technical Solution
- WP-Cron의 한계를 극복하기 위해 Database 기반 Job Queue인 Action Scheduler 도입을 통한 작업 보장성 확보
plugins_loaded이전 단계에 스케줄러를 로드하여 비즈니스 로직 수행 전 Hook 등록을 완료하는 부트스트랩 순서 최적화- 외부 API 호출 및 2초 이상 소요 작업의 전면 Async 전환을 통한 User-facing Operation의 Non-blocking 구조 설계
- Exponential Backoff 전략(10초 $\rightarrow$ 1분 $\rightarrow$ 10분) 기반의 Retry Logic 구현으로 일시적 네트워크 장애 대응
- CSV 임포트 시 Batch Processing과 Progress Tracking을 결합하여 대용량 데이터 처리의 가시성 제공
- Nightly Reconciliation Job을 통한 최종 데이터 정합성 검증 및 실패 작업 재큐잉으로 Safety Net 구축
실천 포인트
- 외부 API 의존 작업의 처리 시간이 2초를 초과하는지 검토 - 대량 레코드 처리 시 동기식 루프 대신 Batch 기반 Background Job 전환 고려 - Job Queue 도입 시 Retry 횟수 제한 및 실패 상태 알림(Alerting) 체계 구축 확인 - Async 작업의 상태를 UI에 실시간 반영하여 중복 요청을 방지하는 UX 설계 적용