草庐IT

celery-log

全部标签

python + Nose : make assertions about logged text?

是否有一些简单的方法可以使用nose捕获记录的消息并对其进行断言?例如,我希望能够执行如下操作:cook_eggs()assert_logged("eggsareready!") 最佳答案 您可以创建一个自定义处理程序,它可以检查通过日志记录发送的消息。BufferingHandler非常适合这份工作。您可能还想在测试中将处理程序附加到您在代码中使用的任何记录器,例如logging.getLogger('foo').addHandler(...)。您最终可以在测试用例的setUp和tearDown方法中附加处理程序。importlo

python - Celery 'Getting Started' 无法检索结果;总是待定

我一直在尝试关注CeleryFirstStepsWithCelery和NextSteps指南。我的设置是Windows764位、AnacondaPython2.7(32位)、安装的Erlang32位二进制文​​件、RabbitMQ服务器和celery(使用pipinstallcelery)。按照指南,我创建了一个包含init.py、tasks.py和celery.py的proj文件夹。我的init.py是空的。这是celery.py:from__future__importabsolute_importfromceleryimportCeleryapp=Celery('proj',br

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

IDEA插件之Mybatis log插件安装及使用

一前言分析我们在idea控制台看见的sql日志通常是这样的,实际开发调试中我们想把完的sql复制出来,到数据库中执行分析数据情况。但是如果我们的sql有动态传参控制台输出的sq入参会用“?”代替入参,不能直接使用。SqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@2ba96bf]wasnotregisteredforsynchronizationbecausesynchronizationisnotactiveJDBCConnection[com.alibaba.druid.proxy.jdbc.Connection

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