celery相关内容
我正在尝试使用Django缓存来实现锁定机制。在Celery官方网站中,它声称Django缓存正常工作。但是,在我的奉献中,它没有奏效。我的经验是,如果有多个线程/进程几乎在同一时间(接近〜0.003秒)获取锁定,所有线程/进程将成功获取锁定。对于在〜0.003秒之内获得锁定的其他线程,它将失败。 我是唯一经历过这样的人吗?如果可能,请更正我。 def acquire(self,bl
..
在使用Celery任务的Django应用程序中运行测试时,我无法完全测试需要从数据库获取数据的任务,因为它们未连接到Django创建的测试数据库。 设置 task_always_eager 在Celery到 True 部分解决了这个问题,但作为
..
我正在使用Django数据库而不是RabbitMQ来实现并发的原因。 但是,在执行任务之前,我无法解决问题。 > 我发现了一些有关这个问题的答案,但是似乎没有完成,或者我找不到足够的帮助。 第一个答案 第二个答案 如何使用模型扩展芹菜任务表,在不希望任务执行时添加一个布尔字段(撤销)来设置? 谢谢。 解决方案 由于Celery通过ID跟踪任务,所有您真正需要
..
我做了这样的多重处理功能, import multiprocessing import pandas as pd import numpy as np def _apply_df(args): df,func,kwargs = args return df.apply(func,** kwargs) def apply_by_multiprocessing(df
..
这是我的任务。 @shared_task def post_notification(data,url): url =“http://posttestserver.com/data/?dir=praful”#在生产中,删除这一行。 headers = {'content-type':'application / json'} requests.post(url,data =
..
我今天开始用Django来使用芹菜3.1.9。这个较新的版本与django集成更紧密,无需使用django-celery。 我使用多个设置文件,我想知道是否有一个简单的方法指定在初始化芹菜工作者时使用哪个设置文件? 使用djcelery,它非常简单,因为它使用manage.py命令。 我天真试图检查是否 settings.DEBUG 在celery.py文件中是正确的,但当
..
我发现我可以将任务设置为在特定时间内从这里,但这只是在任务声明中完成。如何设置任务定期动态运行? 解决方案 计划是从设置派生,因此在运行时似乎是不可变的。 你可以完成你的任务'使用任务ETA 查找。这保证您的任务不会在所需时间之前运行,但不承诺在指定的时间运行任务 - 如果工作人员在指定的ETA超载,则任务可能稍后运行 如果该限制不是问题,您可以编写一个首先运行的任务,如:
..
如何使用芹菜安排任务 解决方案 由于Celery 3.0的crontab计划现在支持 day_of_month 和 month_of_year 参数: http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#crontab-schedules
..
UDATE3:发现问题。请看下面的答案。 更新2:似乎我可能通过运行djcelery教程来处理自动命名和相对导入问题manage.py shell,请参见下文。它仍然不适用于我,但现在我收到新的日志错误消息。 更新:我将日志添加到帖子的底部。似乎示例任务没有注册? 原始帖子 我我试图让django-celery开始运行。我没有能够通过这个例子。 我成功安装了rabbi
..
我安装了django-celery,我试图启动工作服务器,但是我收到一个OSError,一个函数没有被实现。我在VPS上运行CentOS发行版5.4(Final): 。经纪人 - > amqp:// guest @ localhost:5672 / 。队列 - > 。芹菜 - >交换:芹菜(直接)绑定:芹菜 。并发 - > 4 。装载机 - > djcelery.loaders.Dja
..
是否可以为Django中的特定应用设置DEBUG = False?当启用调试时,Celery有一个已知内存泄漏。我有一个开发服务器,我想要Celery作为一个服务运行,没有调试,所以它不会泄漏内存,但我想让我的其余的Django应用程序使用调试,所以错误将在测试时显示。 解决方案 芹菜没有内存泄漏,这就是Django的工作原理: 启用DEBUG Django将每个执行的SQL语句追加
..
$ _ code>#models.py from django.db import models class Person(models.Model): first_name = models。 CharField(max_length = 30) last_name = models.CharField(max_length = 30) text_blob = models.Cha
..
我的问题可能很基本,但是我仍然无法在官方文档中获得解决方案。我在Django应用程序中定义了一个Celery链,执行依赖于eanch的其他任务: chain(tasks.apply_fetching_decision .s(x,y), tasks.retrieve_public_info.s(z,x,y), tasks.public_adapter.s())() 显然,
..
我正在尝试设置芹菜和django,但是没有创建celery_taskmeta表。 我遵循了许多(Recent)教程,添加了djcelery和djkombu到我的installed_apps。添加了'BROKER_TRANSPORT =“djkombu.transport.DatabaseTransport”'行到我的设置等。 我可以运行守护进程,它将执行任务,但是它最后吐出这个追溯:
..
我安装了Celery(最新的稳定版本) 我有一个名为 / home / myuser / fable / jobs 的目录。在这个目录下,我有一个名为tasks.py的文件: 来自芹菜的芹菜-Decorators导入任务 。任务导入任务 类提交者(任务): def run(self,post,** kwargs): return“是的,它的作品!!!!!!” 在此
..
如何从任务中获取任务的task_id值?以下是我的代码: from celery.decorators import task from django.core.cache import cache @task def do_job(路径): “对文件执行操作” #...执行操作的代码... cache.set(current_task_id,operation
..
我在/ etc / defaults /中从代码中创建了一个celeryd文件: https://github.com/celery/celery/blob/3.0/extra/generic-init.d/celeryd 现在,当我想运行celeryd作为一个守护进程,并执行此操作:sudo /etc/init.d/celerdy它说命令没有找到。我在哪里出错? 解决方案 我
..
我们使用Celery与我们的Django webapp来管理离线任务;这些任务中的一些可以运行长达120秒。 每当我们进行任何代码修改时,我们需要重新启动Celery以重新加载新的Python代码。我们目前的解决方案是将一个SIGTERM发送到主Celery进程( kill -s 15`cat / var / run / celeryd.pid` ),然后等待它死亡并重新启动它( pytho
..
在发布新版本以更新工作人员的代码时,如何优雅地启动芹菜工作? 编辑: 我打算做的是这样的事情。 工作人员正在运行,可能是将一个100 MB的文件上传到S3 新的构建来自 代码有变化 构建脚本向工人发送信号 使用新代码启动新员工 解决方案 >重新启动工作人员的新推荐方法记录在这里 http://docs.celeryproject.org/en/latest/userg
..
我们来看一个简单的Django示例。 app / models.py class UserProfile(models.Model): user = models.OneToOneField(用户) token = models.CharField(max_length = 32) app / views.py从django.http导入HttpResp
..