celery相关内容

如何在 Django 中设置 celeryconfig 文件

我在 Ubuntu EC2 节点上有一个 Django 项目,我一直使用它来设置使用 Celery 的异步.我一直在尝试关注 http://michal.karzynski.pl/blog/2014/05/18/setting-up-an-asynchronous-task-queue-for-django-using-celery-redis/ 我已经能够在命令行上完成一项基本任务,使用: ..
发布时间:2021-12-21 11:07:45 Python

将所有 celery 任务的日志消息发送到单个文件

我想知道如何设置更具体的日志系统.我所有的任务都使用 logger = logging.getLogger(__name__) 作为模块范围的记录器. 我希望 celery 将日志记录到“celeryd.log"并将我的任务记录到“tasks.log",但我不知道如何让它工作.使用 django-celery 中的 CELERYD_LOG_FILE 我可以将所有与 celeryd 相关的 ..
发布时间:2021-12-19 10:54:03 Python

Django Celery 日志最佳实践

我正在尝试让 Celery 日志记录与 Django 一起工作.我在 settings.py 中进行了日志设置以进入控制台(这很好用,因为我在 Heroku 上托管).在每个模块的顶部,我有: 导入日志logger = logging.getLogger(__name__) 在我的tasks.py中,我有: from celery.utils.log import get_task_logg ..
发布时间:2021-12-19 10:25:50 Python

使 Django 测试用例数据库对 Celery 可见

当 Django 测试用例运行时,它会创建一个独立的测试数据库,以便在每个测试完成时回滚数据库写入.我正在尝试使用 Celery 创建一个集成测试,但我不知道如何将 Celery 连接到这个临时测试数据库.在天真的设置中,保存在 Django 中的对象对 Celery 不可见,保存在 Celery 中的对象无限期存在. 这是一个示例测试用例: 导入json从 rest_framework. ..
发布时间:2021-12-15 11:45:19 其他开发

如何将 Celery 与 asyncio 结合起来?

如何创建一个包装器,使 celery 任务看起来像 asyncio.Task?或者有没有更好的方法将 Celery 与 asyncio 集成? @asksol,Celery 的创造者,这样说:: 将 Celery 用作异步 I/O 框架之上的分布式层是很常见的(重要提示:将 CPU 绑定任务路由到 prefork 工作器意味着它们不会阻塞您的事件循环). 但我找不到任何专门用于 ..
发布时间:2021-12-14 20:31:59 Python

如何在 Celery 任务中使用 Flask-SQLAlchemy

我最近切换到 Celery 3.0.在此之前,我使用 Flask-Celery 来将 Celery 与 Flask 集成.虽然它有很多问题,比如隐藏了一些强大的 Celery 功能,但它允许我使用 Flask 应用程序的完整上下文,尤其是 Flask-SQLAlchemy. 在我的后台任务中,我正在处理数据和 SQLAlchemy ORM 来存储数据.Flask-Celery 的维护者已经放 ..
发布时间:2021-12-14 11:26:48 Python

与 Flask 服务器同时运行 while 循环

我正在使用 python 更新一些 LED.我一直在这样做: 来自 LED 导入 *myLEDs = LEDs()完成 = 错误虽然没有完成:myLEDs.iterate() 我想使用 Flask 充当一些可以在浏览器中运行的漂亮 ReactJS 前端(以更改当前模式等)和 Python 中的 LED 控制代码之间的桥梁. 我的 Flask 工作正常,可以处理 HTTP 请求等.我想知道 ..
发布时间:2021-12-14 11:17:14 Python

如何在 Celery 中检查任务状态?

如何检查一个任务是否在 celery 中运行(具体来说,我使用的是 celery-django)? 我已经阅读了文档,也用谷歌搜索过,但我看不到这样的电话: my_example_task.state() == 正在运行 我的用例是我有一个用于转码的外部 (java) 服务.当我发送要转码的文档时,我想检查运行该服务的任务是否正在运行,如果没有,则(重新)启动它. 我使用的是当前的 ..
发布时间:2021-12-11 17:59:07 Python

在 Celery 任务中运行 Scrapy 蜘蛛

我有一个 Django 站点,当用户请求时会在该站点上进行抓取,并且我的代码在新进程中启动了 Scrapy 蜘蛛独立脚本.当然,这对增加用户不起作用. 像这样: class StandAloneSpider(Spider):#普通蜘蛛settings.overrides['LOG_ENABLED'] = True#更多设置可以更改...爬虫 = CrawlerProcess(设置)craw ..
发布时间:2021-12-02 19:41:57 Python

运行“独特"芹菜的任务

我使用 celery 更新我的新闻聚合站点中的 RSS 提要.我为每个提要使用一个 @task,一切似乎都运行良好. 有一个细节我不确定是否能很好地处理:所有提要每分钟更新一次@periodic_task,但是如果提要在启动新任务时仍在从上一个定期任务更新怎么办?(例如,如果提要真的很慢,或者离线并且任务处于重试循环中) 目前我存储任务结果并像这样检查它们的状态: 导入套接字从日期时 ..
发布时间:2021-12-02 19:33:17 Python

报告产生了长期运行的 Celery 任务的结果

问题 我已将长时间运行的任务划分为逻辑子任务,因此我可以在每个子任务完成时报告结果.但是,我正在尝试报告一项实际上永远不会完成的任务的结果(而是在执行过程中产生价值),并且我正在努力使用我现有的解决方案来做到这一点. 背景 我正在为我编写的一些 Python 程序构建一个 Web 界面.用户可以通过网络表单提交作业,然后返回查看作业进度. 假设我有两个函数,每个函数都通过单 ..
发布时间:2021-12-02 19:28:29 Python

用 Celery 取消一个已经在执行的任务?

我一直在阅读文档并进行搜索,但似乎无法找到直接的答案: 你能取消一个已经在执行的任务吗?(因为在任务已经开始,需要一段时间,中途需要取消) 我从 芹菜常见问题 >>>结果 = add.apply_async(args=[2, 2], 倒计时=120)>>>结果.revoke() 但我不清楚这是否会取消排队的任务,或者是否会杀死一个正在运行的进程.感谢您提供的任何光线! 解 ..
发布时间:2021-12-02 19:05:56 Python

Celery 不释放内存

看起来celery在任务完成后没有释放内存.每完成一个任务,就会有 5m-10m 的内存泄漏.因此,如果有数千个任务,很快就会耗尽所有内存. BROKER_URL = 'amqp://user@localhost:5672/vhost'# CELERY_RESULT_BACKEND = 'amqp://user@localhost:5672/vhost'CELERY_IMPORTS = ('ta ..
发布时间:2021-11-27 11:49:06 Python

如何设置 Celery 在运行我的任务之前调用自定义初始化函数?

我有一个 Django 项目,我正在尝试使用 Celery 提交任务进行后台处理(http://ask.github.com/celery/introduction.html).Celery 与 Django 集成良好,我已经能够提交我的自定义任务并返回结果. 唯一的问题是我找不到在守护进程中执行自定义初始化的理智方法.在开始处理任务之前,我需要调用一个加载大量内存的昂贵函数,我无法承受每次 ..
发布时间:2021-11-27 11:45:36 Python

芹菜与亚马逊 SQS

我想使用 Amazon SQS 作为 芹菜.Celery 依赖于 Kombu 的 SQS 传输实现.但是没有足够的文档来使用它,所以我找不到如何在 Celery 上配置 SQS.有没有人在 Celery 上成功配置过 SQS? 解决方案 我多次遇到这个问题,但仍然不完全确定如何设置 Celery 以与 SQS 一起工作.事实证明,使用最新版本的 Kombu 和 Celery 很容易.作为另 ..
发布时间:2021-11-27 11:10:30 其他开发

如何使用 AWS Elastic Beanstalk 可扩展的 Django 应用程序运行 celery worker?

如何将 Django 与 AWS Elastic Beanstalk 一起使用,同时也只能在主节点上通过 celery 运行任务? 解决方案 这是我在弹性 beantalk 上使用 django 设置 celery 的方式,可扩展性工作正常. 请记住,container_commands 的'leader_only'选项仅适用于环境重建或部署强>的应用程序.如果服务运行时间足够长,E ..

您如何使用 AWS Elastic Beanstalk 运行工作线程?

我正在 AWS Elastic Beanstalk 上启动一个 Django 应用程序.我想运行后台任务或工作线程以运行 celery. 我无法找到是否可能.如果是,如何实现? 这是我现在正在做的事情,但这每次都会产生一个事件类型错误. container_commands:01_同步数据库:命令:“django-admin.py syncdb --noinput";leader_o ..

多台服务器上的 django-celery 基础设施,代理是 redis

目前我们在单个云服务器上设置了所有内容,包括: 数据库服务器 阿帕奇 芹菜 redis 作为 celery 和其他一些任务的代理 等 现在我们正在考虑将主要组件分解为单独的服务器,例如独立的数据库服务器、媒体文件的独立存储、负载均衡器后面的 Web 服务器.原因是不要为一台繁重的服务器付费,而是使用负载均衡器按需创建服务器,以降低成本并提高整体速度. 我真的只对 cele ..
发布时间:2021-11-17 03:02:27 Python

是否可以将 celery 与 Kafka 集成

我想在我的代码中使用 celery 引入多处理.但目前我的队列实现是在 Kafka 中. 目前 celery 网站只提到了这 4 个经纪人:http://docs.celeryproject.org/en/master/getting-started/brokers/index.html#broker-overview 是否可以将 Celery 与 Kafka 集成类似于下面提到的 R ..
发布时间:2021-11-12 02:24:08 其他开发

如何使用 docker-compose 在分布式气流架构上配置 celery worker?

我正在建立一个分布式 Airflow 集群,其中除了 celery 工作人员之外的所有其他内容都在一台主机上运行,​​而处理则在多台主机上完成.使用 Airflow 文档 https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml .在我最初的测试中,当我在同一台主机上运行所有东西时,我让架构很好地工作.问题是 ..
发布时间:2021-10-26 17:57:30 其他开发