草庐IT

celery_state

全部标签

python celery max-tasks-per-child-setting 默认值

我正在使用celery,我想使用max-tasks-per-child-setting因为某些celery进程会占用大量内存。我试图在更改之前找到此设置的默认值,但找不到该信息。我看了here但我不想将它设置为1,因为我不希望它重新启动每个任务。 最佳答案 默认没有限制http://celery.readthedocs.org/en/latest/configuration.html#celeryd-max-tasks-per-child您可以从defaults.py查看所有默认配置值https://github.com/celer

python - celery 和自定义消费者

据我所知,Celery既充当消息的生产者又充当消息的消费者。这不是我想要实现的。我希望Celery仅充当消费者,根据我发送到我选择的AMQP代理的消息触发某些任务。这可能吗?或者我需要通过在我的堆栈中加入胡萝卜来做汤吗? 最佳答案 Celery代理充当消息存储并将它们发布给订阅这些消息的一个或多个工作人员,因此:celery将消息推送给代理(rabbitmq、redist、celery本身通过djangodb等)。这些消息由工作人员按照代理的协议(protocol)检索,并记住它们(通常它们是持久的,但也许这取决于你的经纪人),并被

python - Django 1.6 和 Celery 3.0 内存泄漏

将Django升级到1.6后,我的celeryworker正在耗尽RAM。似乎分配给工作人员的内存没有释放,并且在每次任务后都会增长。相关设置:#DB:DATABASES={'default':{'ENGINE':'django.db.backends.postgresql_psycopg2','NAME':'somedb','USER':'','PASSWORD':'','HOST':'localhost','PORT':'',}}#CELERYSETTINGS:CELERY_RESULT_BACKEND='redis://'BROKER_URL='redis://'相关包版本:Dj

python - 更新 celery 任务已完成的客户端

我有以下要求。我正在创建一个网络应用程序(无前端),它将接收发布和获取请求。它的功能如下。客户将在触发大型且耗时的任务的URL上发帖。客户端还可以发出Get请求并检索任务的结果。本来想用Celery来启动任务的。该任务是一个非常大的算术计算。我的问题是如何通知客户他触发的任务已经完成并且他可以检索结果。所以我是这样想的:client->poststowebapp->webappstartstasktocelery->requestclosedwebappnotifies->clienttriggeredtask#whatistheproperwayclient->getrequestt

python - 确认 celery 发布的正确方法是什么?

我正在考虑调整我的celery/rabbitmq安装,我发现了这篇文章:http://www.lshift.net/blog/2015/04/30/making-celery-play-nice-with-rabbitmq-and-bigwig/如果您想保证消息传递(我这样做),它提到执行设置BROKER_TRANSPORT_OPTIONS={'confirm_publish':True}。我在为rabbitmq或celery找到有关此设置的任何文档时遇到问题。使用rabbitmq在celery中确认发布的正确方法是什么?所述功能的文档在哪里? 最佳答案

python - 为什么我们需要 Celery 中的签名?

我已经开始在我的DjangoPython项目中使用Celery4.1并且遇到了签名。在documentation它说了以下内容:Youjustlearnedhowtocallataskusingthetasksdelaymethodinthecallingguide,andthisisoftenallyouneed,butsometimesyoumaywanttopassthesignatureofataskinvocationtoanotherprocessorasanargumenttoanotherfunction.Asignature()wrapsthearguments,ke

python - 在Python中是否有一个漂亮的State Machine框架?

来自Ruby世界,在那里我们有漂亮的状态机框架,我很惊讶地发现在Python中没有一个明显的具有类似美的候选。我希望避免滚动自己的状态机;面向对象的状态机设计通常要求每次添加状态时都要挂起一堆Python(在本例中,我经常这样做)。在我的python代码中应该使用的状态机框架是什么?在考虑性能或其他因素之前,我想要最优雅的代码。 最佳答案 你可以试试这个片段djangoacts_as_statemachine 关于python-在Python中是否有一个漂亮的StateMachine框架

python - 将 django-celery 与 redis 一起使用时出现 NotRegistered 异常

我写了一个名为“task”的django应用程序,并将它添加到*INSTALLED_APPS*。但是,当我尝试在djangoshell中调用它时,它引发了NotRegisteredexpception。详细信息如下:fromtask.tasksimportaddfromceleryimportregistry#'task.tasks.add'isregisteredlikebelowregistry.tasks#'task.tasks.add':#Calladd()r=add.delay(3,4)r.successful()#print"False"################ce

Python Celery - 如何在其他任务中调用 celery 任务

我在Django-Celery的任务中调用任务这是我的任务。@shared_taskdefpost_notification(data,url):url="http://posttestserver.com/data/?dir=praful"#wheninproduction,removethisline.headers={'content-type':'application/json'}requests.post(url,data=json.dumps(data),headers=headers)@shared_taskdefshipment_server(data,notific

python - 多个工作节点上的 Django + Celery 任务

我在同一个虚拟机上部署了一个django(1.10)+celery(4.x),rabbitmq是代理(在同一台机器上)。我想在多节点架构上开发相同的应用程序,就像我可以复制多个工作节点,并扩展任务以快速运行一样。在这里,如何为这个架构配置celery和rabbitmq?在其他工作节点上,应该如何设置? 最佳答案 您应该在一个节点中安装borker并对其进行配置,以便其他节点的工作人员可以访问它。为此,您可以在rabbitmq上创建一个新的用户/虚拟主机。#addnewusersudorabbitmqctladd_user#addne