celery相关内容
我不需要 Django 管理员中的 celery 模块.有什么办法可以去掉吗? 解决方案 更具体地说,在 INSTALLED_APPS after 'djcelery' 来自 django.contrib 导入管理从 djcelery.models 导入(TaskState、WorkerState、PeriodicTask、IntervalSchedule、CrontabSchedule
..
我正在重写模型的 save() 方法以使用 Celery 调用异步任务.该任务还保存了模型,因此我最终遇到了 Celery 任务被重复调用的递归情况.代码如下: 模型的保存方法: def save(self, *args, **kwargs):super(Route, self).save(*args, **kwargs)从 .tasks 导入 get_elevation_dataget_
..
我正在使用 django 1.4、celery 3.0、rabbitmq 为了描述这个问题,我在一个系统中有许多内容网络,我想要一个队列来处理与每个网络相关的任务. 但是,当系统运行时,内容是动态创建的,因此我需要动态创建队列并让现有工作人员开始处理它们. 我已经尝试通过以下方式调度任务(其中内容是 django 模型实例): queue_name = 'content.{}'
..
我正在使用 Flask-restplus 构建 REST API.我的一个端点获取从客户端上传的文件并运行一些分析.该作业最多使用 30 秒.我不希望这项工作阻止主进程.因此端点将立即返回 200 或 201 的响应,作业仍然可以运行.结果将保存到数据库中,稍后检索. 对于长期运行的工作,我似乎有两种选择. 线程 任务队列 线程相对简单.但问题是,Flask 应用程序的线程数是
..
这是我的场景: 当用户登录我的网站时,我为给定用户排队了一堆任务(通常每个任务需要 100 毫秒,每个用户有 100 多个任务).这些任务排队到默认的 Celery Queue 中,我有 100 名工作人员正在运行.当后端任务完成时,我使用 websockets 向用户显示实时进度.如果我只有 1 或 2 个活跃用户,生活就会很美好. 现在,如果我有几个并发用户登录到我的站点,后面的用
..
我正在编写一个使用 celery 的 Django 应用程序.到目前为止,我一直在 Ubuntu 上运行,但我正在尝试部署到 CentOS. Celery 为基于 Debian 的发行版提供了一个不错的 init.d 脚本,但它不适用于 CentOS 等基于 RedHat 的发行版,因为它使用 start-stop-daemon.有没有人有一个等效的 RedHat 使用相同的变量约定,所以我
..
我有一个 CPU 密集型 Celery 任务.我想使用跨大量 EC2 实例的所有处理能力(核心)来更快地完成这项工作(具有多处理功能的 celery 并行分布式任务 - 我认为). 线程、多处理、分布式计算、分布式并行处理这些术语都是我的术语试图更好地理解. 示例任务: @app.task对于 list_of_millions_of_ids 中的项目:id = item # 在这里
..
如何删除 celery 中的常规 Task 或 PeriodicTask? 解决方案 您撤销任务:参见文档: Control.revoke(task_id, destination=None, terminate=False, signal='SIGTERM', **kwargs)告诉所有(或特定的)工作人员通过 id 撤销任务.如果一个任务被撤销,worker 将忽略该任务并且根本不执
..
我最近接手了我公司正在进行的项目的另一部分,并发现我们的 RabbitMQ/Celery 设置中似乎存在内存泄漏. 我们的系统有 2Gb 的内存,在任何给定时间大约有 1.8Gb 可用.我们有多个任务处理大量数据并将它们添加到我们的数据库中. 当这些任务运行时,它们会消耗相当多的内存,很快我们的可用内存就会下降到 16Mb 到 300Mb 之间的任何地方.问题是,这些任务完成后,内存并
..
我正在尝试调用一个任务并为该任务创建一个队列,如果它不存在,则立即将调用的任务插入该队列.我有以下代码: @taskdef 问候(姓名):返回“你好 %s!"% 名称定义运行():结果 = greet.delay(args=['marc'], queue='greet.1',routing_key='greet.1')打印结果.ready() 然后我有一个自定义路由器: 类 MyRouter
..
我创建了一个具有以下目录结构的 celery 应用程序(如 celery 网站中给出的): 项目|-- 芹菜.py|-- 芹菜.pyc|-- __init__.py|-- __init__.pyc|-- 任务.py`--任务.pyc 以下是 celery.py 的内容 from __future__ import absolute_import从芹菜进口芹菜应用 = 芹菜('项目',经纪人=
..
我正在尝试使用 django 和 rabbit-mq 设置 celeryd.到目前为止,我已经完成了以下工作: 从 pip 安装 celery 通过存储库中可用的 deb 安装 rabbitmq 通过 rabbitmqctl 向 rabbitmq 添加了一个用户和虚拟主机,以及该用户的权限 启动rabbitmq-server 通过 pip 安装 django-celery 设置 d
..
所以我有一个 Django 应用程序,它偶尔会向 Celery 发送一个任务以进行异步执行.我发现当我在开发中处理我的代码时,Django 开发服务器知道如何自动检测代码何时发生更改,然后重新启动服务器,以便我可以看到我的更改.但是,我的应用程序的 RabbitMQ/Celery 部分并没有注意到开发中的这些变化.如果我更改稍后将在 Celery 任务中运行的代码,Celery 仍将继续运行旧版本
..
我正在用 Celery 替换一些本地代码,但很难复制当前的行为.我想要的行为如下: 创建新用户时,应使用 user.created 路由键将消息发布到 tasks 交换. 此消息应触发两个 Celery 任务,即 send_user_activate_email 和 check_spam. 我尝试通过使用 ignore_result=True 参数定义 user_created 任务
..
我最近从 2.3.0 升级到 Celery 3.0.1,所有任务都运行良好.很遗憾.我经常收到“框架错误"异常.我也在运行主管来重新启动线程,但由于这些线程从未真正被杀死,主管无法知道需要重新启动芹菜.有人见过这个吗? 2012-07-13 18:53:59,004: ERROR/MainProcess] 不可恢复的错误:异常('帧错误,收到 0x00 而预期 0xce',)回溯(最近一次通话最
..
Rabbit MQ URL 如下所示: BROKER_URL: "amqp://user:password@remote.server.com:port//vhost" 这个不清楚我们在哪里可以找到RabbitMQ的URL、登录名和密码当我们需要从远程工作人员(本地主机之外)访问时. 另外,如何在 Celery/RabbitMQ 中设置 RabbitMQ 的 IP 地址、登录名和密码
..
我使用 RabbitMQ 作为我的消息代理,我的工作人员是 Celery 任务.我正在尝试诊断一个问题,即我将任务排入 RabbitMQ 但 Celery 没有接听. 有什么方法可以检查 RabbitMQ 中排队的任务是什么?我想查看它们入队的日期和时间、指定的任何 ETA、参数和任务名称. 我无法在文档中找到这些信息——也许我忽略了它——并且希望你们中的一些人可能知道检查任务队列的简
..
我在 celery 中有一个 test 队列,我已经为它定义了一个任务: @celery_app.task(queue='test', ignore_result=True)def priority_test(优先级):打印(优先级) 只打印参数.我想设置 这里.所以,我像这样写了一个 for 循环: for i in range(100):priority_test.apply_async
..
我已经用 RabbitMQ 安装了 Celery.问题是对于返回的每个结果,Celery 都会在 Rabbit 中创建,并在交换 celeryresults 中使用任务 ID 排队. 我仍然想要结果,但在 ONE 队列中. 我的芹菜配置: 从日期时间导入时间增量OKER_URL = 'amqp://'CELERY_RESULT_BACKEND = 'amqp'#CELERY_IGNO
..
我正在 CentOS 7 上使用 Django 10、RabbitMQ 和 Celery 4 运行一个站点. 我的 Celery Beat 和 Celery Worker 实例由主管控制,我正在使用 django celery 数据库调度程序. 我已经使用 Django-admin 中的 cronsheduler 安排了一个 cron 样式的任务. 当我启动 celery bea
..