celery相关内容

Celery计划任务中的打印语句未出现在终端中

当我运行 celery -A task2.celery worker -B 时,我想看到每秒打印一次"celery task".当前没有任何打印.为什么这行不通? 来自应用程序导入应用程序的 从芹菜进口芹菜从datetime导入timedeltacelery =芹菜(app.name,broker ='amqp://guest:@ localhost/',backend ='amqp://gu ..
发布时间:2021-04-21 19:57:00 Python

Celery 4.0中的定期任务

据我所知,由于Celery 3.1装饰器 @periodic_task 被废弃. 因此,我尝试从celery docs 运行一个示例并无法意识到我在做什么错. 我在 task_planner.py 中有以下代码: 从芹菜进口芹菜从kombu import Queue,交换类Config(object):CELERY_QUEUES =(队列('尝试',exchange = Exchan ..
发布时间:2021-04-21 19:56:57 Python

不同时区的芹菜

现在,我使用django-celery向用户发送预定的电子邮件.如果所有用户都在相同的时区,则可以正常工作.但是,如果用户在不同的时区,则他会在不正确的时间获得该信息. 例如,我安排每天使用CrontabSchedule将电子邮件发送给用户a,用户b,每天早上8点,服务器是GMT时间,用户a是GMT,用户b是GMT + 1,用户a会在上午8点收到该电子邮件,用户b将在上午9点得到它. ..
发布时间:2021-04-21 19:56:54 其他开发

如何在Celery中使两个任务互斥?

是否有一种方法可以禁止在Celery中同时运行两个不同的任务?我当时正在考虑定义一个新的并发级别为1的队列,并将这些任务发送到该队列,但是我找不到一个示例.有可能吗? 谢谢! 解决方案 是的,如果您不必担心整体吞吐量,则可以创建一个单独的队列并将专用的并发设置为1.可以根据需要创建任意数量的队列,并配置每个工作人员从哪个队列接收消息. 启动工作程序时,可以传递 -Q 参数设置其 ..
发布时间:2021-04-21 19:56:51 其他开发

芹菜-一秒钟完成一项任务

我使用Celery向服务器发出请求(在任务中).我有硬限制-一秒钟内只有1个请求(来自一个ip).我阅读了此,所以它是我想要的-1/s.在 celeryconfig.py 中,我有: CELERY_DISABLE_RATE_LIMITS =否CELERY_DEFAULT_RATE_LIMIT ="1/s" 但是我收到消息,每秒请求太多. 在 call.py 中,我使用 ..
发布时间:2021-04-21 19:56:46 Python

脚本需要作为Celery任务运行.这会有什么后果?

我的任务是使用opencv编写脚本,该脚本以后将作为Celery任务运行.这会有什么后果?我要注意些什么?最后包含两行代码是否足够,或者我必须重写整个脚本? 我读到,Celery是一个“基于分布式消息传递的异步任务队列/作业排队系统",但我不会假装完全了解所有这些. 一旦我获得更多详细信息,我就会尝试更新问题. 解决方案 Celery意味着使用代理(某些数据中心用于排队任务)的 ..
发布时间:2021-04-21 19:56:43 Python

芹菜花展格林尼治标准时间而不是当地时区

我已经通过pip安装了Flower,一切正常,但是当我看到Flower中的任务时间时,它会显示GMT时间而不是时区中的时间.花任务选项 Pythnon-3.4 Django-1.8.7 Redis服务器v = 2.8.17 芹菜-3.1.19 我的芹菜和Django conf: TIME_ZONE ='Europe/Moscow'USE_I18N =真USE_L10N =真U ..
发布时间:2021-04-21 19:56:34 其他开发

如何使用SSL将芹菜连接到RabbitMQ

我正在尝试使用SSL证书将芹菜与RabbitMQ代理连接. 这是代码: 从芹菜进口芹菜进口sslbroker_uri ='amqp://user:pwd @ server:5672/vhost'certs_conf = {"ca_certs":"/certs/serverca/cacert.pem","certfile":"/certs/client/rabbit-cert.pem","k ..
发布时间:2021-04-21 19:56:31 Python

芹菜中未处理的异常冻结了工人

我正在通过Redis后端在docker中运行celery.我有 芹菜容器 芹菜工人容器 redis容器 芹菜工人容器产生6个工人进程.如果芹菜任务遇到异常,工人(所有人)将停止消耗工作.我尝试对进程进行一些调试,似乎单个进程将卡在 pipe 读取中,其余进程将卡在 futex 调用中. 调试信息: #Worker 1$ sudo strace -p 15959 -s 100 ..
发布时间:2021-04-21 19:56:28 其他开发

子任务是否继承其父任务的队列?

在使用Celery创建子任务(即和弦,链,组)时,如果您有多个队列(即高优先级,低优先级),那么该子任务是否继承了创建该任务的任务的路由参数? 解决方案 回答我自己的问题,实际上已经阅读了源代码... 简短回答 否. 长答案 使用 mytask.s()和 mytask.si()实例化的任务调用 request.delivery_info . 我的解决方案 ..
发布时间:2021-04-21 19:56:25 Python

"ResourceClosedError:交易已关闭".芹菜节拍和sqlalchemy +金字塔应用程序出错

我有一个名为 mainsite 的金字塔应用. 该网站以一种非常异步的方式工作,主要是通过从视图启动线程来执行后端操作. 它通过sqlalchemy连接到mysql,并使用ZopeTransactionExtension进行会话管理. 到目前为止,该应用程序一直运行良好. 我需要在其上运行定期作业,并且它需要使用从视图启动的某些相同的异步函数. 我使用过apsched ..
发布时间:2021-04-21 19:56:18 其他开发

Celery任务功能的自定义属性

我有一个像这样的芹菜任务功能- @task(base = MyBaseTask)@my_custom_decoratordef my_task(* args,** kwargs):my_task.ltc.some_func()#失败-对象上不存在属性ltc 和my_custom_decorator看起来像这样 def my_custom_decorator(f):从functools导 ..
发布时间:2021-04-21 19:56:15 Python

芹菜生产优雅重启

我需要重新启动celery守护程序,但我需要它告诉当前的工作人员在任务完成时关闭,然后在新的工作人员仍在关闭的同时启动新的工作组. 守护程序上当前的优美选项在重新启动之前会等待所有任务完成,这在长时间运行的作业中没有用. 请不要建议自动重新加载,因为它在4.0.2.中目前没有记录. 解决方案 好吧,我最终要做的是使用有监督能力的人,并且能够对此进行管理. [program: ..
发布时间:2021-04-21 19:56:09 Python

如何使用django正确守护celerybeat?

有几个与此问题类似的问题,但是没有一个问题有合适的解决方案,也没有描述完全相同的问题. 如果我自己从命令行启动celery,则周期性任务可以很好地与我的配置配合使用, celery --app = proj.mycelery worker -B 问题是当我尝试守护芹菜时.遵循本教程之后,我通过以下方式启动服务: sudo/etc/init.d/celerybeat start ..
发布时间:2021-04-21 19:56:06 Python

如何获取运行任务的队列-celery

我是新来的芹菜人,有一个问题.我有一个简单的任务: @ app.task(name ='test_install_queue')def test_install_queue():返回subprocess.call(“退出0",shell = True) 我稍后会在一个测试用例中调用此任务 result = task.test_default_queue.apply_async(queu ..
发布时间:2021-04-21 19:56:03 Python

我可以在celery上使用Python请求吗?

我在一个名为task.py的celery模块中定义了以下内容,并导入了请求库: @ celery.taskdef geturl(url):RES = requests.get(URL)返回res.content 每当我通过以下方式调用任务(通过task.py或REPL)时: res = geturl.delay('http://www.google.com')打印res.get() ..
发布时间:2021-04-21 19:56:00 Python