jjzjj

python - RabbitMQ IOError : Socket closed

我有一个RabbitMQ消息代理和一个远程Celeryworker。它工作正常,但大约每五分钟我就会收到此错误:[2014-01-0614:02:27,247:WARNING/MainProcess]consumer:Connectiontobrokerlost.Tryingtore-establishtheconnection...Traceback(mostrecentcalllast):File"/usr/local/ABCD/venv/local/lib/python2.7/site-packages/celery/worker/consumer.py",line270,ins

python - Heroku Flask 应用程序中的 Celery/CloudAMQP 错误

我在Heroku(免费层)上运行Flask应用程序,在使用apply_async安排任务时遇到了一些问题。如果我安排了两个以上的任务,我会得到一个很长的堆栈跟踪,但有一个异常(exception):AccessRefused(403,u"ACCESS_REFUSED-accesstoexchange'celeryresults'invhost'rthtwchf'refusedforuser'rthtwchf'",(40,10),'Exchange.declare')奇怪的是前两个任务(在重新启动我的所有进程之前)似乎总是毫无问题地完成。搜索引擎的一点点调查让我找到了https://st

python - celery block 内链

我想在celery链命令中使用block。chain=task1.s(arg1)|task2.chunks(?,CHUNK_SIZE)|task3.chunks(?,CHUNK_SIZE)基本上我想做的是运行task1,将其结果分block并将分block发送到task2,然后task2应该调用task3,task3也应该从task2接收分block结果以完成该过程。为什么?因为task1和task2都可以返回相当数量的项目,我想分批处理这些项目。上面的代码不起作用,因为我不太确定用什么代替问号才能使其起作用。我不太确定这是否可行,因为搜索没有提供太多结果,所以如果无法构建这样的工作流

python - 找出差异,Celery 任务随机失败且没有错误

我的一些RemoteCelery任务似乎永远不会到达我的经纪人(RabbitMQ)。这似乎是随机发生的。我的日志中没有NO错误,它们永远不会到达工作人员或失败。Flower/Rabbit从不报告任务失败。我使用tcpflow-p-c-ieth0port5672来监控API上发送任务(client)的流量。当API成功发送任务时,外出流量记录如下:(已删除敏感数据)192.018.000.002.42738-052.048.150.171.05672:AMQP052.048.150.171.05672-192.018.000.002.42738:capabilitiesFpublishe

python - Celery v4 没有按预期路由任务

我正在将我的celeryworker从celeryv3更新到celeryv4,我的所有任务都是基于类的任务。Ihavemanuallyregisteredthetasks因为这是升级文档中的指示。问题出在任务路由中,我有以下任务:classRegisterTask(Task):routing_key='app_server.register'defrun(**params):whatever...我正在运行两个celeryworker,一个在默认队列中,另一个在注册队列中,如下所示:#DefaultWorkercelery-Aapp_serverworker--loglevel=inf

python - 以 SQLite 作为代理的 Celery + Flask,调用任务时出错

我正在尝试让Flask与以SQLite作为后端的Celery一起工作。但是,使用以下代码:CELERY_BROKER_URL='sqla+sqlite:///'+os.path.join(basedir,'celery.db')defmake_celery(app):celery=Celery(app.import_name,broker=app.config['CELERY_BROKER_URL'])celery.conf.update(app.config)TaskBase=celery.TaskclassContextTask(TaskBase):abstract=Truedef

python - 如果参数和任务名称已经在服务器中排队,是否可以跳过委派 celery 任务?

假设我有这个任务:defdo_stuff_for_some_time(some_id):e=Model.objects.get(id=some_id)e.domanystuff()我是这样使用它的:do_stuff_for_some_time.apply_async(args=[some_id],queue='some_queue')我面临的问题是,有很多具有相同arg参数的重复性任务,这让队列陷入困境。只有当相同的参数和相同的任务不在队列中时才可以应用异步吗? 最佳答案 celery-singleton解决了这个需求警告:需要re

python - psycopg2 错误 : DatabaseError: error with no message from the libpq

我有一个应用程序可以解析csv文件中的数据并将其加载到Postgres9.3数据库中。在串行执行中,插入语句/游标执行没有问题。我在混合中添加了celery以添加数据文件的并行解析和插入。解析工作正常。但是,我去运行插入语句并得到:[2015-05-1311:30:16,464:ERROR/Worker-1]ingest_task.work_it:ExceptionTraceback(mostrecentcalllast):File"ingest_tasks.py",line86,inwork_itrowcount=ingest_data.load_data(con=con,state

python - 关于将 celery 与带有远程存储的 sorl-thumbnails 一起使用的指示?

我很惊讶在搜索如何使用带有sorl-thumbnails和S3的celery任务时,除了“使用celery”我什么都没看到。问题:使用远程存储会在生成缩略图时造成大量延迟(对于包含许多缩略图的页面来说需要100秒以上),而缩略图引擎会从远程存储下载原始文件,处理它们,然后上传回s3。在sorl中设置celery任务的好地方在哪里,我应该叫什么?如果您有任何经验/想法,我们将不胜感激。我将开始挖掘Sorl的内部结构,以找到一个更有用的地方来延迟这项任务,但如果之前已经解决了这个问题,还有一些我很好奇的事情。立即返回什么图像?必须以某种方式告诉Sorl返回的图像不是真正的缩略图。当cele

python - Celery 和 SQLAlchemy - 此结果对象不返回行。已经自动关闭

我有一个连接到MySQL数据库的celery项目。其中一个表是这样定义的:classMyQueues(Base):__tablename__='accepted_queues'id=sa.Column(sa.Integer,primary_key=True)customer=sa.Column(sa.String(length=50),nullable=False)accepted=sa.Column(sa.Boolean,default=True,nullable=False)denied=sa.Column(sa.Boolean,default=True,nullable=Fals