草庐IT

celery_worker

全部标签

python - 禁用 Celery 的 Django 调试

是否可以只为Django中的特定应用程序设置DEBUG=False?celery有一个knownmemoryleak启用调试时。我有一个开发服务器,我希望Celery在其中作为服务运行,无需调试,因此它不会泄漏内存,但我希望我的Django应用程序的其余部分使用调试,以便在测试时显示错误。 最佳答案 Celery没有内存泄漏,这是Django的工作方式:当启用DEBUG时,Django将每个执行的SQL语句附加到django.db.connection.queries,这将在长时间运行的进程环境中无限增长。我猜你可以使用如下hack

python - Celery - 以编程方式列出 worker

我如何使用Python代码以编程方式列出当前工作人员及其相应的celery.worker.consumer.Consumer实例? 最佳答案 您可以使用celery.control.inspect检查正在运行的worker:>>>importcelery>>>celery.current_app.control.inspect().ping(){u'celery@host':{u'ok':u'pong'}} 关于python-Celery-以编程方式列出worker,我们在StackOv

python - 如果尚未使用 celery 安排任务,则允许执行任务

我正在使用Celery来处理我正在开发的Django应用程序中的任务调度,我正在使用Django数据库进行测试。我只是尝试了几种方法来处理任务的执行,前提是它尚未按照本article中的建议进行安排或进行中。,但到目前为止没有任何效果。像这样:task.py@task()defadd(x,y):returnx+y然后当你像下面这样调用它两次时:importmyapp.tasks.addmyapp.tasks.add.apply_async((2,2),task_id=1,countdown=15)myapp.tasks.add.apply_async((2,2),task_id=2,c

python - 导入错误 : No module named numpy on spark workers

在客户端模式下启动pyspark。bin/pyspark--masteryarn-client--num-executors60shell上的importnumpy运行良好,但在kmeans中失败。不知何故,执行者没有安装numpy是我的感觉。我没有在任何地方找到任何好的解决方案来让worker了解numpy。我尝试设置PYSPARK_PYTHON但这也不起作用。importnumpyfeatures=numpy.load(open("combined_features.npz"))features=features['arr_0']features.shapefeatures_rdd

python - 接口(interface)错误 : connection already closed (using django + celery + Scrapy)

我在Celery任务中使用Scrapy解析函数(有时可能需要10分钟)时得到这个。我使用:-Django==1.6.5-django-celery==3.1.16-celery==3.1.16-psycopg2==2.5.5(我也用过psycopg2==2.5.4)[2015-07-1911:27:49,488:CRITICAL/MainProcess]Taskmyapp.parse_items[63fc40eb-c0d6-46f4-a64e-acce8301d29a]INTERNALERROR:InterfaceError('connectionalreadyclosed',)Tra

python - 启动 celery worker throws "no attribute ' worker_state_db'"

当我尝试在Django应用程序中启动celeryworker时:celery-AmyAppworker-linfo我收到以下错误:File"/home/alexander/.pyenv/versions/3.5.1/envs/myApp/lib/python3.5/site-packages/celery/utils/collections.py",line134,in__getattr__type(self).__name__,k))AttributeError:'Settings'objecthasnoattribute'worker_state_db'如果你知道如何解决它,请写下

python - 为什么 Celery 在 Python shell 中工作,但在我的 Django View 中却不工作? (导入问题)

我安装了Celery(最新稳定版)。我有一个名为/home/myuser/fable/jobs的目录。在此目录中,我有一个名为tasks.py的文件:fromcelery.decoratorsimporttaskfromcelery.taskimportTaskclassSubmitter(Task):defrun(self,post,**kwargs):return"Yes,itworks!!!!!!"在此目录中,我还有一个名为celeryconfig.py的文件:BROKER_HOST="localhost"BROKER_PORT=5672BROKER_USER="abc"BROK

python - 没有 celery 的Django后台处理

我有一个Django站点的很小一部分,它保持两个用户之间的主持聊天session的状态。基本上,第一个用户说了3分钟(没有其他人可以),然后第二个用户说了,然后停顿了30秒,这个过程再重复一次。我目前正在使用数据库和“RoomState”模型来管理房间的当前状态(谁可以说话等)。状态转换受到客户端每10秒向我的一个View发送“ping”AJAXPOST消息的影响,该消息检查是否到了更改状态的时间。这行得通,但绝对感觉很老套。我想知道是否有比django-celery+rabbitmq更轻量级的东西来管理计时器上的短暂后台任务。我意识到web/Django的本质是无状态的,但我只是想看

python - 每当队列中有内容时,Amazon 的 SQS 如何通知我的 "worker"服务器之一?

我正在学习本教程:http://boto.s3.amazonaws.com/sqs_tut.html当队列中有东西时,我如何分配我的20个工作人员中的一个来处理它?我正在使用Python。 最佳答案 不幸的是,SQS缺少一些我们经常期望在队列中使用的语义。没有通知或任何类型的阻塞“获取”调用。亚马逊的相关SNS/简单通知服务可能对您有所帮助。将工作添加到队列后,您可以向订阅的工作人员发送通知。另见:http://aws.amazon.com/sns/BestpracticesforusingAmazonSQS-Pollingtheq

python - Celery 与 AWS ELB 和 RabbitMQ 的连接中断

在我们的环境中,我们使用AWS上的RabbitMQ和Celery在多个节点上并行运行任务。最近我们将RabbitMQ变成了一个由3个节点组成的集群,配置了一个ha策略,并为所有3个节点的端口5672添加了一个AWS弹性负载均衡器(ELB)。我们的Celeryworker和客户端代码都使用ELBDNS作为代理URL。自该更改以来,我们注意到等待异步任务完成将引发异常IOError:Socketclosed。ELB将在60秒后关闭所有空闲连接。我们的任务需要几个小时才能完成。将BROKER_HEARTBEAT设置为低于60的值可解决工作端的连接中断。但是我们似乎找不到任何可以使客户端连接保