草庐IT

CELERY_ALWAYS_EAGER

全部标签

python - 使用 Celery 同时执行两个任务

我正在本地环境中测试celery。我的Python文件有以下两行代码:celery_app.send_task('tasks.test1',args=[self.id],kwargs={})celery_app.send_task('tasks.test2',args=[self.id],kwargs={})查看控制台输出,它们似乎按顺序一个接一个地执行。但是test2仅在test1完成后运行。至少这是它读取控制台输出的方式。这些任务彼此没有依赖关系,所以我不希望一个任务在移动到下一行之前等待另一个任务完成。如何同时执行这两个任务?----****--------*****--Darw

python - celery worker 挂起没有任何错误

我有一个运行celeryworker的生产设置,用于向远程服务发出POST/GET请求并存储结果,它每15分钟处理大约20k个任务。问题是worker无缘无故地NumPy,没有错误,没有警告。我也尝试添加多处理,结果相同。在日志中我看到执行任务的时间在增加,就像在s中成功有关更多详细信息,请参阅https://github.com/celery/celery/issues/2621 最佳答案 如果您的celeryworker有时卡住,您可以使用strace&lsof找出它卡在哪个系统调用处。例如:$strace-p10268-s10

python - 如何使用 django-celery 配置 TASK_SERIALIZER

我正在使用django-celery,我想将TASK_SERIALIZER设置为JSON而不是pickle。我可以在每个方法的基础上通过改变我的任务装饰器来做到这一点@task到@task(serializer="json")但我想在全局范围内进行。设置TASK_SERIALIZER="json"在settings.py中不起作用。尝试运行importcelerycelery.conf.TASK_SERIALIZER="json"(隐含here)导致AttributeError:'module'objecthasnoattribute'conf'知道在通过django运行celery时

python - Celery 相当于一个 JoinableQueue

Celery的multiprocessing.JoinableQueue是什么?(或gevent.queue.JoinableQueue)?我正在寻找的功能是能够.join()来自发布者的Celery任务队列,等待队列中的所有任务完成。等待初始的AsyncResult或GroupResult是不够的,因为队列会由worker自己动态填满。 最佳答案 它可能并不完美,但这是我最终想到的。它基本上是一个基于共享Redis计数器和列表监听器的现有Celery队列之上的JoinableQueue包装器。它要求队列名称与其路由键相同(由于be

python - Celery 工作人员之间共享 XMPP 连接

我的网络应用程序需要能够发送XMPP消息(Facebook聊天),我认为Celery可能是一个很好的解决方案。一项任务将包括查询数据库并将XMPP消息发送给多个用户。但是,使用这种方法,我每次运行任务时都必须连接到XMPP服务器,这不是一个好主意。来自FacebookChatAPIdocs:BestPracticesYourFacebookChatintegrationshouldonlybeusedforsessionsthatareexpectedtobelong-lived.Clientsshouldnotrapidlychurnonandoff.有没有一种方法可以在工作人员之间

python - 如何跟踪形成 celery 和弦标题的组内各个任务的进度?

importcelerydeftemptask(n):header=list(tempsubtask.si(i)foriinrange(n))callback=templink.si('printedatlast?')r=celery.chord(celery.group(header))(callback)returnr@task()deftempsubtask(i):printiforxinrange(i):time.sleep(2)current_task.update_state(state='PROGRESS',meta={'completed':x,'total':i})@

python - 运行节拍时看不到我的 celery 日志

我正在通过supervisord启动celery,请参阅下面的条目。[program:celery]user=foobarautostart=trueautorestart=truedirectory=/opt/src/slicephone/cloudcommand=/opt/virtenvs/django_slice/bin/celerybeat--app=cloud-lDEBUG-s/home/foobar/run/celerybeat-schedule--pidfile=/home/foobar/run/celerybeat.pidpriority=100stdout_logfi

python - 分离 celery 消费者和生产者

我希望我编写的电子邮件服务与我的Flask应用程序完全分离。我正在将celery与rabbitmq一起使用。所以我想知道有没有一种方法可以配置celery,以便在一个项目中我有Flask应用程序将消息发送到队列(生产者)。在另一个项目中,我运行了celery实例来监听消息并执行任务(消费者)。我仍然对通信将如何工作感到困惑?我是否将API(发送电子邮件)放在我的flask应用程序或celery项目中?最终,我希望在不同的EC2实例中拥有Flask应用程序和Celery实例——使用rabbitmq作为消息代理。感谢您的帮助! 最佳答案

python - Django +Celery +SQS -> boto.exception.SQSError : SQSError: 599 gnutls_handshake()

我在生产环境中使用Django应用程序与Celery和AmazonSQS一起工作。每天在我的celery日志中我都可以看到有SSL错误:[ERROR/MainProcess]Emptybody:SQSError:599gnutls_handshake()failed:AnunexpectedTLSpacketwasreceived.尝试重新连接到代理时出现下一个错误:[2016-12-1416:06:28,917:WARNING/MainProcess]consumer:Connectiontobrokerlost.Tryingtore-establishtheconnection..

python - 通过 Django-celery 安排数千个一次性(非经常性)任务以近乎同时执行

一些上下文:我正在构建一个Django应用程序,它允许用户预先保存一个操作,并在未来安排他们希望执行该操作的确切日期/时间。例如,安排一个帖子在下周凌晨5:30以编程方式推送到Facebook墙上。我正在寻找一种任务调度系统,它可以处理一千个一次性任务实例,所有这些实例都设置为几乎同时执行(误差幅度正负一分钟)。我正在为此考虑Django-celery/Rabbitmq,但我注意到Celerydocs不要处理一次性使用的任务。Django-celery在这里是正确的选择吗(也许通过子类化CrontabSchedule)还是我的精力最好花在研究其他一些方法上?也许与SchedModule