Запуск процесса Django в фоновом режиме
Я читал несколько руководств по настройке фоновых процессов, и большинство из них рекомендуют использовать Celery с Redis. Я запускаю приложение Django с Nginx и Gunicorn на Windows, но я наткнулся на руководство, в котором упоминалось, что Celery версии 4.0 может иметь проблемы с синхронизацией на Windows. Учитывая это, будет ли использование Celery и Redis по-прежнему лучшим вариантом для фоновых задач на Windows?
Фоновый процесс будет использоваться для загрузки данных csv в базу данных, как PgAdmin.
Вы правы, что следует с осторожностью относиться к использованию Celery с Redis на Windows. Исторически Celery под Windows имеет некоторые проблемы с совместимостью, особенно с его стандартной моделью параллелизма prefork, которая не очень хорошо работает с Windows из-за того, как работает многопроцессорность на этой платформе. Это особенно актуально, если вы используете Celery 4.x, который в значительной степени полагается на многопроцессорность и может вызывать проблемы с синхронизацией или низкую производительность на Windows.
Если вам нужно что-то более простое, чем Celery, для небольших задач вроде загрузки CSV: multiprocessing или Django Q будут хорошим выбором, особенно если вы ищете что-то, что не требует много настроек или инфраструктуры.