1
Ritter 2019-10-21 14:08:59 +08:00
没遇到过
|
2
Latin 2019-10-21 14:09:01 +08:00
实时 rabbitmq+celery ?
|
3
Latin 2019-10-21 14:09:45 +08:00
试试
|
4
wuwukai007 2019-10-21 14:11:01 +08:00
apscheduler
|
5
wuwukai007 2019-10-21 14:14:03 +08:00
看下 redis 和 celery 日志,可能是 redis 问题,
|
6
eteryao OP @wuwukai007 谢谢大佬回复。我看了一下 apscheduler 好像是定时任务? 我现在的业务并不是定时任务。就是一个后端接口,收到访问请求了就走异步任务。
|
7
wuwukai007 2019-10-21 14:24:38 +08:00
apscheduler 定时异步都可以的,轻量级的,定时里面下次执行时间是立即执行不就是异步了吗
|
8
wuwukai007 2019-10-21 14:26:14 +08:00
https://www.jianshu.com/p/4f5305e220f0 文档,不过需要跑一个 web 放在 web 里面
|
9
sujin190 2019-10-21 14:26:35 +08:00
不是据说 celery backbend 用 redis 支持不是特别好么,最简单就换个 backbend 呗,rabbitmq 的支持应该不错
之前用 go 实现过分布式 event,用在这个场景估计也不错 |
10
Caratpine 2019-10-21 15:03:42 +08:00
1.
别的解决方案 Python 的话还有 Huey 和 RQ 2. Celery 是最新的版本吗? 可以用 Rabbitmq 代替 Redis 试试 |
11
Hstar 2019-10-21 15:08:01 +08:00
之前遇到过,搜了下是 redis 的问题。
|
12
ospider 2019-10-21 15:41:31 +08:00
没事儿别用 celery,就是个大坑
|
13
JasperYanky 2019-10-21 15:57:49 +08:00
huey 挺好用的 之前就是 celery 太重了才选 huey 的
|
14
Philippa 2019-10-21 16:12:19 +08:00 via iPhone
可以用云,是我就建个 serverless 函数来处理,简洁到起飞🛫️。请求少还不用花钱。
自建的话,如果不需要集群可以直接建个 api 触发然后跑脚本就可以了,日志输出可以 debug 就行。 Celery 很重。Airflow 我也用过,再也不想碰 Celery 和 Airflow 了。 |
15
eteryao OP @Caratpine 感谢大佬回复。我是一个新人,所以问的问题太蠢的话 大佬们别见怪。
1. huey 的话 想问一下 有后台一直跑的方式吗。因为部署的方式是用 docker 现在的 celery 是用 supervisor 在后台守护进程跑的。 RQ 的话我还得 再研究一下。 2.celery 不是最新的。因为公司 redis 版本较低 会导致 kombu 这个包报错。 公司用的是阿里的 rocketMQ 不知道 celery 是否兼容。 |
16
Caratpine 2019-10-21 16:31:08 +08:00
@eteryao #15 没关系,互相学习。
1. Huey 不也可以用 Docker 或者 Supervisor 运行的。这个比较简单,源码也易于扩展修改,如果只是想要发异步任务的话,Huey 基本满足需求。 2. 你的这个问题之前我也没有遇到过,不过我觉得升级版本应该能解决部分问题。Celery 不支持 RocketMQ, 支持最好的是 Rabbitmq. 如果你想用公司的 RocketMQ, 可以考虑用 Huey. 这个比较好改,我们内部一个系统异步任务用的 Huey + 自研的队列。 |
17
hanssx 2019-10-21 17:30:02 +08:00
换用 rmq 吧,redis 不建议使用在生产环境中。
前几天我使用 celery v4.3 + rmq 3.7.7 也遇到了你这问题,好像是网络原因,你不会和我一样执行得是扫描任务吧? 话说这个问题不应该是 INFO 吗?不是 ERROR 吧。 可以尝试把 heartbeat 关掉。 https://stackoverflow.com/questions/21132240/celery-missed-heartbeat-on-node-lost |
18
eteryao OP 去 redis 看 发现了 celery NotRegistered 的错误。也是无语。。这又是什么鬼
|
19
leafsummer 2019-10-21 19:32:18 +08:00
遇到过类似的问题:
1. 如果是多台机器, 看是不是, 几个服务器的时间不一致 2. 有可能是网络延迟问题 |