¿Puede el apio celerybeat usar un progtwigdor de base de datos sin Django?

Tengo un pequeño plan de infraestructura que no incluye Django. Pero, debido a mi experiencia con Django, realmente me gusta el apio. Todo lo que realmente necesito es Redis + Celery para hacer mi proyecto. En lugar de utilizar el sistema de archivos local, me gustaría mantener todo en Redis. Mi architecture actual utiliza Redis para todo hasta que esté lista para volcar los resultados a AWS S3. Es cierto que no tengo una buena razón para usar Redis en lugar del sistema de archivos. Acabo de invertir tanto en diseñar esto con Docker y teniendo en cuenta la escalabilidad, se siente mal no hacerlo.

Estaba buscando un progtwigdor de base de datos que no fuera de Django también hace un tiempo, pero parecía que no había nada más. Así que tomé el código del progtwigdor de Django y lo modifiqué para usar SQLAlchemy. Debería ser aún más fácil hacer que use Redis en su lugar.

Resulta que puedes!

Primero creé este pequeño proyecto del tutorial en celeryproject.org .

Eso fue genial, así que construí una demostración de Dockerized como prueba de concepto.

Cosas que aprendí de este proyecto.

  • Estibador

    • usando –link para crear conexiones de red entre contenedores
    • ejecutando comandos dentro de contenedores
  • Dockerfile

    • usando FROM para construir imágenes iterativamente
    • usando imágenes oficiales
    • utilizando CMD para imágenes que “simplemente funcionan”
  • Apio

    • utilizando apio sin Django
    • usando Celerybeat sin Django
    • usando Redis como un corredor de cola
    • diseño del proyecto
    • requisitos de nombramiento de tareas
  • Pitón

    • diseño de proyecto adecuado para setuptools / setup.py
    • Instalación de proyecto vía pip.
    • usando entry_points para hacer que console_scripts sea accesible
    • usando setuid y setgid para reducir los privilegios del demonio de apio