Проблема резервного копирования медиапапки 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 не дожидается окончания процесса сжатия.

Вернуться на верх