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