摆脱celery限制
来源:互联网 发布:egg drop. 算法 编辑:程序博客网 时间:2024/05/18 18:54
最近使用了celery,但用着感觉不是很爽,因为它需要把worker和任务调用的逻辑放在同一个工程里面。所以,当分布式使用时,需要将这个工程复制到不同的机器上,而不是将worker与任务调用的逻辑分开。
这段时间都在思考如何摆脱这个限制,想到了一个方案:
- 一般,celery任务调用如下:
@app.taskdef add(x, y): return x + yfrom tasks import addadd.delay(4, 4)
以上调用都是基于可以引用到方法add的基础上可行的
那么我们如果把没有什么特殊限制的任务在这个基础上做的更通用一点是不是可以更好一点,如果在再在这个通用的基础上做成一个基础库,到需要配置的机器上安装,就可以在不同的工程上直接使用了,不必worker和任务调用逻辑混在一起了
如何通用?
联想到http请求,我们只要绑定自己的请求参数,请求方法,访问对应的url就行了,这都是统一的。
参考其数据结构,我们可以定义一个通用的方法,例子为:客户端:
@app.taskdef revoke_task(method, data): taskhandler = get_handler(method) result = taskhandler.deal(data) return result
简单的想法如上文所说,由于没有考虑celery中频率限制等特性,因此,上述的方案看来只适用于那些没有什么条件限制的任务。
望大家指正!
阅读全文
1 0
- 摆脱celery限制
- 帧缓冲区对象,摆脱窗口的限制
- 翻译 | 摆脱浏览器限制的JavaScript
- Celery
- celery
- celery
- Celery
- 摆脱数据库限制,做真正意义上的三层报表
- 你摆脱了限制你的穷人思维吗?
- 摆脱百度云大文件下载限制,IDM来帮忙
- 就这几招 摆脱限制使有限的内存用在刀刃上
- linux汇编学习(2)-----摆脱MBR大小的限制,加载stage2代码
- [Celery]Celery 最佳实践
- celery 简介
- celery入门
- 使用Celery
- Celery实践
- Celery架构
- Python中实例的attributes、Properties以及Descriptors
- JavaBean
- jenkins+svn+maven自动发布平台项目案例
- Redis热数据存储问题
- 命令行内解决git rebase conflict
- 摆脱celery限制
- Hadoop+Spark 之旅—脚踏实地、仰望星空(教程目录)
- android activity之间自定义类的传递
- 记Nginx正向代理请求参数
- python中partial的使用规则
- 用SPFA求解最短路径问题
- 解决YouCompleteMe"encoding" is an invalid keyword 错误
- Codeforces 292D [Connected Components]--并查集的巧妙应用
- Linux进程及job管理