worker.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from raven import Client
  2. import os
  3. from app.core.celery_app import celery_app
  4. from app.core.config import settings
  5. import requests
  6. from pathlib import Path
  7. from urllib.parse import urlparse, urljoin
  8. import os
  9. #client_sentry = Client(settings.SENTRY_DSN)
  10. download_to_local_url = urljoin(settings.SERVER_HOST, settings.API_V1_STR+"/videos/worker")
  11. upload_to_server_url = urljoin(settings.SERVER_HOST, settings.API_V1_STR+"/videos/worker")
  12. ZIP_STORAGE = Path(settings.CELERY_ZIP_STORAGE)
  13. VIDEO_STORAGE = Path(settings.CELERY_VIDEO_STORAGE)
  14. @celery_app.task(acks_late=True)
  15. def make_video(video_id, zip_filename, user_id) -> str:
  16. #video_id, zip_filename, user_id = args
  17. # download
  18. '''
  19. r = requests.get(download_to_local_url, stream=True)
  20. with open(str(VIDEO_STORAGE/zip_filename), 'wb') as f:
  21. r.raise_for_status()
  22. for chunk in r.iter_content(chunk_size=1024):
  23. f.write(chunk)
  24. '''
  25. print((ZIP_STORAGE/zip_filename).exists())
  26. # make video
  27. return "complete"