小编ple*_*unt的帖子

Celery Worker 如何运行任务中其他地方定义的代码?

我尝试阅读官方文档以及其他 SO 线程,但仍然不清楚 Celery 是如何工作的。

据我了解:

  1. Django 应用程序:Celery 安装在 Django(或任何应用程序)中,其中@shared_task装饰器函数定义要执行的工作。
  2. 消息代理:消息代理从 1. 获取此任务并将其排队。
  3. Celery Worker:一个完全独立的 Celery Worker 接收任务并运行它。该工作人员甚至可以位于完全不同的机器中,只要它可以访问消息代理即可。

那么,最紧迫的问题是:

Celery Worker如何获取@shared_task中定义的代码来运行任务?

基本上,如果 3. 仅使用消息代理进行连接,如何获取 1. 中定义的内容?python 代码是否以字符串形式存储在消息代理中?消息代理项目/记录的数据结构是什么?

python django message-queue celery django-celery

5
推荐指数
1
解决办法
1069
查看次数

在Java中将泛型范围实现为函数参数的最佳方法是什么?

我有一个需要范围作为参数的函数.域为[0-100],它包括0和100.范围参数可以是例如:

[1-8, 18, 20-88, 90-92]

要么

[1, 10-30]

范围不重叠.我对机制感兴趣 - 如何最好地传递范围参数?阵列?或使用变量参数?

java

3
推荐指数
1
解决办法
159
查看次数

Django 中 request.user 与 get_user(request) 之间的区别?

我注意到有两种方法可以从请求中获取用户对象(假设用户已经登录并且会话有效):

  • user = request.user
  • user = get_user(request)get_user()是从哪里进口的django.contrib.auth

有什么不同?get_user()似乎对请求会话做了很多验证。

哪个更好?

python django

3
推荐指数
1
解决办法
508
查看次数

标签 统计

django ×2

python ×2

celery ×1

django-celery ×1

java ×1

message-queue ×1