Проблема резервного копирования медиапапки Django celery
Я создал библиотеку для получения резервных копий на Google Drive, используя Google Drive api в python. На самом деле она работает хорошо, но когда я использую с celery свою библиотеку, celery не ждет сжатия моей медиапапки (я полагаю). Он каждый раз получает резервную копию в застегнутом и зашифрованном виде на Google Drive, но она пуста. Если я перехожу к контейнеру django app и пишу свою пользовательскую команду для получения резервной копии медиафайлов, она работает хорошо. Я занимаюсь этим уже 2 недели. Может ли кто-нибудь помочь мне с сельдереем или моей библиотекой.
Пробовали:
- asycn compress process.
моя библиотека -> https://github.com/ylrmali/py-googledrive (README.md не обновлен)
# tasks.py
@shared_task
def db_backup():
try:
call_command('pybackup', '--encrypt')
logger.info("Database backup completed successfully")
except Exception as e:
logger.error(f"Error occurred during database backup: {e}")
@shared_task
def media_backup():
try:
call_command('pymedia_backup', '--encrypt', '--compress') # no more need --compress flag
logger.info("Media backup completed successfully")
except Exception as e:
logger.error(f"Error occurred during media backup: {e}")
# Define periodic tasks
app.conf.beat_schedule = {
'db_backup': {
'task': 'api.tasks.db_backup',
'schedule': crontab(minute=0, hour='*/3'), # every three hours
},
'media_backup': {
'task': 'api.tasks.media_backup',
'schedule': crontab(),
},
}
Я хочу получить резервную копию носителя в сжатом и зашифрованном виде. Но celery не дожидается окончания процесса сжатия.