草庐IT

python - 如何将 celery 作业的参数输入到要查询的数据库中;使用 mysql

我使用MySql作为celery的结果后端。我也想在数据库中存储程序参数。例如:add.apply_async(args=[num1,num2,user]在这种情况下,我想将用户参数存储在数据库中,以便以后查询。目前,我返回存储在数据库中的参数。defadd(num1,num2,user):return[num1+num2,user]但是当任务处于运行状态时,用户没有被插入,我无法在数据库中查询它。有什么解决方案/破解方法吗? 最佳答案 您是仅使用MySql作为结果后端,还是也将它用于队列(我不推荐)?如果您将它用于队列,则一旦发送

javascript - 使用 node.js 创建一个 Celery worker

使用node-celery,我们可以启用Node将Celery作业推送到任务队列。如何让Node成为Celeryworker并消费队列? 最佳答案 如果终点是amqp,则用于Celery。结帐Celery.jsGithub作为amqp消费者启动的任何Node进程都可以正常工作。对于每个其他self.conf.backend_type类型,您可以拥有不同的消费者。以下示例仅适用于amqp。一个这样的例子。下面的message可能是Celery任务对象。varamqp=require('amqp');varconnection=amqp

docker - 多个 Docker 容器和 Celery

我们现在的项目结构如下:处理来自客户端的传入请求的网络服务器。向用户提供一些建议的分析模块。我们决定让这些模块完全独立,并将它们移动到不同的docker容器中。当来自用户的查询到达网络服务器时,它会向分析模块发送另一个查询以获取建议。为了使建议保持一致,我们需要定期进行一些后台计算,例如,当新用户在我们的系统中注册时。此外,一些后台任务纯粹与Web服务器逻辑相关联。为此,我们决定使用分布式任务队列,例如Celery。任务创建和执行的可能场景如下:在网络服务器上排队的任务,在网络服务器上执行(例如,处理上传的图像)在网络服务器上排队的任务,在分析模块中执行(例如,为新用户计算推荐)在分析

docker 配置 : Celery + RabbitMQ

如何在docker容器中运行Celery和RabbitMQ?你能指点我采样dockerfile或编写文件吗?这就是我所拥有的:Dockerfile:FROMpython:3.4ENVPYTHONBUFFERED1WORKDIR/taskerADDrequirements.txt/tasker/RUNpipinstall-rrequirements.txtADD./tasker/docker-compose.ymlrabbitmq:image:tutum/rabbitmqenvironment:-RABBITMQ_PASS=mypassports:-"5672:5672"-"15672:

django - 使用 docker 部署时,Celery、Django、Redis 遇到错误 99

我正在尝试在docker中部署我的Django项目和celery,我想使用redis作为结果后端。Django版本:1.11.3Celery版本:4.1.0我的docker-compose.yml如下:python:image:python:latestrestart:alwaysexpose:-"8000"volumes:-~/django/902Scratch/API:/home/django/API-/var/sb2_files:/var/sb2_files-/home/tuopinpin/JudgeServer/tests/test_case:/test_caselinks:-

python - 解决 celery 和 django 中的循环导入问题

我有一个Django应用程序,它使用Celery卸载一些任务。主要是延迟了数据库表中某些字段的计算。所以,我有一个tasks.py:frommodelsimportMyModelfromceleryimportshared_task@shared_taskdefmy_task(id):qs=MyModel.objects.filter(some_field=id)forrecordinqs:my_value=#dosomecomputationsrecord.my_field=my_valuerecord.save()在models.py中fromdjango.dbimportmode

python - celery 记录到文件中

有人可以帮忙告诉我如何将celery任务调试详细信息写入日志文件吗?我需要将celery任务的详细信息记录到.log文件中。您能否就如何在不影响任务性能的情况下做到这一点提出一些建议? 最佳答案 问题信息如此之少,总是很难回答,但我会努力的。Celery有特定的选项-f--logfile你可以使用:-fLOGFILE,--logfile=LOGFILEPathtologfile.Ifnologfileisspecified,stderrisused.要获取有关其他选项的信息,只需使用celeryworker--help。如果只想让c

python - 每个重试周期增加 celery 重试时间

我会像Docs-Example中那样使用celery重试:@task()defadd(x,y):try:...exceptException,exc:add.retry(exc=exc,countdown=60)#overridethedefaultand#retryin1minute如何在每次重试此作业时增加重试倒计时-例如60秒、2分钟、4分钟等等,直到MaxRetriesExceeded被提高? 最佳答案 这是一种在每次评估任务时创建更大延迟的简单方法。这个值是由celery自己更新的,所以你不需要自己管理任何东西。@task

python - 如何在 Windows 上运行 celery?

如何在不创建Windows服务的情况下在Windows上运行celeryworker?$celery-Ayour_applicationworker有什么类比吗? 最佳答案 Celery4.0+尚未正式支持窗口。但它仍然适用于某些开发/测试目的的窗口。使用eventlet代替如下:pipinstalleventletcelery-Aworker-linfo-Peventlet它适用于window10+celery4.1+python3。Thissolution解决了以下异常:[2017-11-1621:19:46,938:ERROR

python - 如何使用 celery 安排任务在特定时间执行?

我已经查看了PeriodicTask,但这些示例仅涉及使其重复。我正在寻找类似于cron的能力,即“每周一凌晨1点执行此任务” 最佳答案 使用YourTask.apply_async(args=[some,args,here],eta=when)在你的任务结束时,将它重新安排到它应该运行的下一次。 关于python-如何使用celery安排任务在特定时间执行?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.