docker-compose.yaml 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. version: "3.8"
  2. services:
  3. server:
  4. build:
  5. context: .
  6. dockerfile: Dockerfile
  7. image: video_decode
  8. container_name: video_decode
  9. restart: always
  10. ports:
  11. - "8000:8000"
  12. volumes:
  13. - ./logs:/video_decode/logs
  14. env_file:
  15. - .env
  16. environment:
  17. - APP_ENV=prod
  18. entrypoint: ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
  19. add_score_scheduler:
  20. build:
  21. context: .
  22. dockerfile: Dockerfile
  23. image: video_decode
  24. container_name: add_score_scheduler
  25. restart: always
  26. volumes:
  27. - ./logs:/video_decode/logs
  28. env_file:
  29. - .env
  30. environment:
  31. - APP_ENV=prod
  32. - ADD_SCORE_CUTOFF_DT=20260429
  33. - ADD_SCORE_TIMEOUT=2400
  34. - ADD_SCORE_WORKERS=3
  35. - ADD_SCORE_START_ID=1130
  36. - ADD_SCORE_INTERVAL_SECONDS=600
  37. - ADD_SCORE_DRY_RUN=
  38. entrypoint:
  39. - sh
  40. - -lc
  41. - |
  42. while true; do
  43. python scheduler/add_score_job.py \
  44. --cutoff-dt "$$ADD_SCORE_CUTOFF_DT" \
  45. --timeout "$$ADD_SCORE_TIMEOUT" \
  46. --workers "$$ADD_SCORE_WORKERS" \
  47. --start-id "$$ADD_SCORE_START_ID" \
  48. $${ADD_SCORE_DRY_RUN:+--dry-run};
  49. sleep "$$ADD_SCORE_INTERVAL_SECONDS";
  50. done