celery相关内容
我正在使用databasespython包(https://pypi.org/project/databases/)管理到我的PostgreSQL数据库的连接 来自文档(https://www.encode.io/databases/database_queries/#queries) 上面说我可以使用 # Fetch multiple rows without loading the
..
与this other question中一样,我希望从一个芹菜任务返回的列表中创建一个芹菜组。第一个任务将返回一个列表,第二个任务将该列表分解为列表中每一项的并发任务。 计划是在下载内容时使用它。第一个任务从网站获取链接,第二个任务是一个链,它下载页面,对其进行处理,然后将其上传到S3。最后,一旦所有的子页面都完成了,网站在我们的数据库中被标记为完成。类似于: chain(
..
使用celery,是否可以使用RabbitMQ侦听新邮件并计划工作进程来处理它? celerydocumentation的很多内容都是关于将其用作代理(比方说RabbitMQ)的任务生产者,在该代理中执行任务并通过代理交付。 我希望使用来自代理的消息(由其他服务生成),并使用celery处理这些消息。 推荐答案 是。您所要做的就是配置放入rabbitMQ中的消息,使芹菜将其
..
我有两个自定义任务(TaskA和TaskB),它们都继承自celery.Task。调度程序时不时地启动TaskA,而TaskA每次启动N次TaskB使用不同的参数。但由于某些原因,有时使用相同参数的相同TaskB会同时执行两次,这会导致数据库出现不同的问题。 class TaskA(celery.Task): def run(self, *args, **kwargs):
..
命令celery worker -A proj --autoscale=10,1 --loglevel=info启动具有自动缩放功能的工作进程。 创建具有多个的工作人员时, me@mypc:~/projects/x$ celery multi start myworker --autoscale=10,1 celery multi v4.1.0 (latentcall) > Start
..
在芹菜中,如何跟踪当前重试?我知道我可以这样做: @app.task(bind=True, default_retry_delay=900, max_retries=5) def send_email(self, sender=None, to=None, subject=None, message=None): try: # Send email except Except
..
我正在尝试了解芹菜是如何工作的 在tasks.py文件中的Django应用程序中,我创建了一个任务: @celery.shared_task(default_retry_delay=2 * 60, max_retries=2) def my_task(param1, param2): # There are some operations 我使用以下代码调用此任务:
..
我有一个任务需要在芹菜启动时启动。此任务下一次通过回调/ETA每5分钟运行一次。 我找到了一些关于它的线索,但在芹菜3上似乎没有奏效的线索。 感谢您的帮助, 阿诺德。 推荐答案 芹菜irc频道的某个人通过使用";worker_ready.connect";信号:http://docs.celeryproject.org/en/latest/userguide
..
我有Django 1.11.5应用和芹菜4.1.0,我一直收到: kombu.exceptions.EncodeError: is not JSON serializable 我的settings.py: CELERY_BROKER_URL = 'amqp://localhost' CELERY_RESULT_BACKEND = 'amqp://l
..
我正在尝试编写一个芹菜应用程序,它将Numpy数组(或任何任意对象)传递给Worker。据我所知,这需要通过pickle进行序列化(注意:我知道安全问题,但在本例中这不是问题)。 但是,即使在尝试了所有我能找到的允许Pickle作为序列化程序的方法之后,我仍然得到以下Kombu异常: kombu.exceptions.ContentDisallowed: Refusing to des
..
我将Django与芹菜3.0.17一起使用,现在正在尝试计算默认情况下运行多少个芹菜工人。 从this link我了解到(没有修改此配置)工作进程的数量当前必须等于CPU核心的数量。这就是我需要前者的原因。我无法通过谷歌或搜索Heroku's dev center找到官方答案。我认为是4个核心,因为我看到4个并发连接到我的AMQP服务器,但我想确认这一点。 推荐答案 CPU数量不会发
..
我正在尝试诊断一个问题,其中我的一些芹菜工作进程似乎挂起了几分钟。我有许多任务需要进行几个IO调用(通常是对第三方API)。在任何给定的工作中,我可能会向各种API发出数千个请求。我看过这些日志,它们没有什么共同之处:它们在urllib3连接到远程url后挂起。 在我的作业结束时(大约需要30分钟),通常有几个任务处于挂起状态。 以下是我用来得出urllib3是罪魁祸首的日志示例:
..
import celery def temptask(n): header=list(tempsubtask.si(i) for i in range(n)) callback=templink.si('printed at last?') r = celery.chord(celery.group(header))(callback) return r @tas
..
如何限制可以同时运行的特定芹菜任务的实例数? 我有一个处理大文件的任务。我遇到了一个问题,用户可能会启动多个任务,导致服务器在尝试一次处理太多文件时耗尽CPU和内存。我希望确保在任何给定时间只运行这一类型任务的N个实例,并且其他任务将在计划程序中排队,直到其他任务完成。 我看到任务修饰器中有一个rate_limit选项,但我认为这不是我想要的。如果我对文档的理解正确,这只会限制任务启动
..
我的应用程序使用的是作用域会话和SQLALChemy的声明性样式。这是一个Web应用程序,很多数据库插入都是由任务调度程序Celery执行的。 通常,在决定插入对象时,我的代码可能会执行以下操作: from schema import Session from schema.models import Bike pk = 123 # primary key bike = Sessio
..
我当前正在为我的芹菜任务编写单元测试,希望测试我的任务是否正在重试。 注意:在测试设置中,ALWAYS_EAGER设置为True @app.shared_task(bind=True, soft_time_limit=600, autoretry_for=(Exception,), retry_kwargs={'max_retries': 3}, re
..
我有一个简单的定期任务: from celery.decorators import periodic_task from celery.task.schedules import crontab from .models import Subscription @periodic_task(run_every=crontab(minute=0, hour=0)) def deactiva
..
从Django应用程序调用导入任务的.delay()方法时,进程停滞,请求从未完成。 我们在控制台上也没有收到任何错误。 使用PDB设置set_trace()会产生相同的结果。 检查了以下无助于解决问题的问题: Calling celery task hangs for delay and apply_async celery .delay hangs (recent, n
..
我有一份关于蓝图和芹菜的申请 代码如下: config.py import os from celery.schedules import crontab basedir = os.path.abspath(os.path.dirname(__file__)) class Config: SECRET_KEY = os.environ.get('SECRET_KEY') or
..
默认情况下,芹菜将所有任务发送到‘celery’队列,但您可以通过添加额外参数来更改此行为: @task(queue='celery_periodic') def recalc_last_hour(): log.debug('sending new task') recalc_hour.delay(datetime(2013, 1, 1, 2)) # for example
..