草庐IT

celery_state

全部标签

python - celery 随机丢失任务

我发现celery中的任务似乎“消失”了,运行时有2个节点。这似乎是随机发生的。任务是这样创建的:task=perform_advance.apply_async(...)logger.info('Taskcreated,id:{}'.format(task.task_id))当这个工作时,我会看到类似的东西:[2016-04-2101:13:02,470:INFO/Worker-8]foo.tasks.some_task[e52615da-de7a-49de-88d6-b3ca43a3383f]:任务已创建,id:eaaeb427-a167-4a78-ba39-4803e20cc75

python - 如何使用 Celery、RabbitMQ 和 Django 确保每个用户的任务执行顺序?

我正在运行Django、Celery和RabbitMQ。我想要实现的是确保与一个用户相关的任务按顺序执行(具体来说,一次一个,我不希望每个用户的任务并发)每当为用户添加新任务时,它应该取决于最近添加的任务。其他功能可能包括不将任务添加到队列中,如果此类型的任务已为该用户排队但尚未开始。我做了一些研究并且:我找不到一种方法将新创建的任务与已在Celery中排队的任务链接起来,链似乎只能链接新任务。我认为这两种功能都可以使用自定义RabbitMQ消息处理程序来实现,尽管毕竟可能很难编写代码。我还阅读了有关celery-tasktree的内容,这可能是确保执行顺序的最简单方法,但是如何将新任

python - 将 celery 优先级队列与广播任务一起使用

我想在我的celeryworker中实现任务优先级。我可以通过为高优先级任务和低优先级任务创建不同的队列来做到这一点。但我还需要将广播任务发送给所有具有广播队列且无法正常工作的工作人员。这是tasks.py文件:fromceleryimportCeleryfromkombu.commonimportBroadcast,Queue,Exchangeapp=Celery('tasks')app.conf.update(CELERY_RESULT_BACKEND='amqp',CELERY_ACCEPT_CONTENT=['json'],CELERY_TASK_SERIALIZER='jso

python - 一些 Celery 任务有效,其他任务未注册

我关注theCeleryDjango教程和我在示例(add,mul)中看到的任务非常适合我。当我执行res=add.delay(1,2);时,我得到了正确的响应res.get()。但是当我尝试执行另一个任务时,我得到了***NotRegistered:u'pipeline.tasks.sayhello'res=sayhello.delay('trex')。如果我执行res=sayhello('trex'),那么只需键入res即可获得结果。但是通过这种方式,我在不使用Celery的情况下执行了函数。只有当我在Djangoshell./manageshell中运行它时,任务才有效>>>re

python - celery 不释放内存

看起来celery在任务完成后不会释放内存。每次任务完成时,都会有5m-10m的内存泄漏。因此,如果有数千个任务,很快就会用完所有内存。BROKER_URL='amqp://user@localhost:5672/vhost'#CELERY_RESULT_BACKEND='amqp://user@localhost:5672/vhost'CELERY_IMPORTS=('tasks.tasks',)CELERY_IGNORE_RESULT=TrueCELERY_DISABLE_RATE_LIMITS=True#CELERY_ACKS_LATE=TrueCELERY_TASK_RESUL

python - Celery - 最小化内存消耗

我们有约300个celeryd进程在Ubuntu10.464位下运行,在空闲状态下每个进程占用约19mbRES,约174mbVIRT,因此-所有进程约有6GB的空闲RAM。处于事件状态-进程最多占用100mb的RES和~300mb的VIRT每个进程都使用了minidom(xml文件问题是-我们如何减少RAM消耗-至少对于空闲的工作人员来说,可能一些celery或python选项可能会有所帮助?如何判断哪个部分占用内存最多?UPD:那是航类搜索代理,一个机构/日期的一名工作人员。我们有10个机构,一个用户搜索==9个日期,因此每个用户搜索有10*9个代理。是否可以按需启动celeryd进

python - 属性错误 : 'unicode' object has no attribute '_sa_instance_state'

我正在学习如何使用SQLAlchemy。我正在尝试执行以下操作,但将标题和链接存储在两个单独的表中:temp=Submissions(title=u'FacebookHomepage',link=u'http://facebook.com')session.add(temp)session.flush()transaction.commit()通过:classLinks(Base):__tablename__='links'id=Column(Integer,primary_key=True)link=Column(Text)created=Column(TIMESTAMP(),def

python - 如何使用参数检索挂起和正在执行的 Celery 任务?

在Celery文档中,有example检查正在执行的任务:Youcangetalistofactivetasksusingactive():>>>i.active()[{'worker1.example.com':[{'name':'tasks.sleeptask','id':'32666e9b-809c-41fa-8e93-5ae0c80afbbf','args':'(8,)','kwargs':'{}'}]}]但是这个调用只返回参数的表示,由repr()获得。有没有办法获取序列化任务参数? 最佳答案 好的,我将把这个作为答案放入

python - 将 Celery 与现有的 RabbitMQ 消息一起使用

我有一个现有的RabbitMQ部署,一些Java应用程序正在使用发送日志消息作为各种channel上的字符串JSON对象。我想使用Celery来消费这些消息并将它们写入不同的地方(例如DB、Hadoop等)。我可以看到Celery被设计为RabbitMQ消息的生产者和消费者,因为它试图隐藏传递这些消息的机制。无论如何让Celery消费由另一个应用程序创建的消息并在它们到达时运行作业? 最佳答案 目前很难将自定义消费者添加到celeryworker,但在开发版本(成为3.1)中我添加了对消费者引导步骤的支持,这正在发生变化。还没有文档

android - 如何使用 RecyclerView.State 保存 RecyclerView 滚动位置?

我对Android的RecyclerView.State有疑问.我正在使用RecyclerView,如何使用RecyclerView.State并将其与RecyclerView.State绑定(bind)?我的目的是保存RecyclerView的滚动位置。 最佳答案 更新从recyclerview:1.2.0-alpha02版本开始引入StateRestorationPolicy。这可能是解决给定问题的更好方法。此主题已在androiddevelopersmediumarticle上讨论过.此外,@rubén-viguera在下面的