7

我有一个包括 Django 的小型基础设施计划。但是,由于我使用 Django 的经验,我真的很喜欢 Celery。我真正需要的是 Redis + Celery 来制作我的项目。我不想使用本地文件系统,而是将所有内容都保存在 Redis 中。我当前的架构对所有内容都使用 Redis,直到它准备好将结果转储到 AWS S3。诚然,我没有充分的理由使用 Redis 而不是文件系统。我刚刚在考虑到 Docker 和可扩展性的情况下投入了大量资金来构建它,不这样做感觉不对。

4

2 回答 2

6

前段时间我也在寻找一个非 Django 数据库调度程序,但看起来没有别的了。所以我把Django 调度程序代码修改为使用 SQLAlchemy。改用 Redis 应该更容易。

于 2015-02-27T17:09:59.047 回答
0

事实证明,你可以!

首先,我根据 celeryproject.org 上的教程创建了这个小项目

这很好,所以我构建了一个 Dockerized 演示作为概念证明。

我从这个项目中学到的东西

  • 码头工人

    • 使用 --link 在容器之间创建网络连接
    • 在容器内运行命令
  • Dockerfile

    • 使用 FROM 迭代构建镜像
    • 使用官方图片
    • 对“正常工作”的图像使用 CMD
  • 芹菜

    • 在没有 Django 的情况下使用 Celery
    • 在没有 Django 的情况下使用 Celerybeat
    • 使用 Redis 作为队列代理
    • 项目布局
    • 任务命名要求
  • Python

    • setuptools/setup.py 的正确项目布局
    • 通过 pip 安装项目
    • 使用 entry_points 使 console_scripts 可访问
    • 使用 setuid 和 setgid 降低 celery 守护进程的权限
于 2016-10-05T19:23:47.517 回答