我能够通过 Copilot 轻松部署 Django 应用程序。但现在我需要一个 Celery worker 并击败它。 Sidecars声音喜欢我想要的。基本上,定义两个新的 sidecars:一个用于 Celery worker,另一个用于 Celery beat。但后来我遇到了Developing an application based on multiple microservices u...
»
我使用 celery-beat 从大约 30 个不同的 API 获取数据并将它们保存在数据库中。
有两个问题:
第一:为什么完成任务需要这么长时间(我认为它不应该超过 2-3 秒)?
第二:为什么单个任务需要不同的持续时间来完成?
芹菜:
终端:
...
»
嗨,我是芹菜的新手,我想知道是否有人可以帮助我解决我的问题。
在我们的 Django 网络应用程序中,有一些我们希望在每个午夜运行的后台任务。有了这个,我尝试用芹菜打芹菜。
按照以下教程,我能够成功地使用 celery beat 和使用 Redis 作为 Celery broker 的 worker 实现后台任务调度程序:
https://docs.celeryq.dev/en/stable/dj...
»
在 Django 应用程序中,我有一个表单可以安排发送电子邮件。它有四个字段:名称、电子邮件、正文、发送日期。我想动态创建一个 Celery 任务(电子邮件)以在指定时间运行另一个 Celery 任务。
我已经能够使用以下代码根据表单定期(每 30 秒)发送电子邮件:
schedule, _ = IntervalSchedule.objects.update_or_create(every=30,...
»
我正在为 Django 项目升级到 celery 5.x。由于不再有 @scheduled_task 装饰器,我将所有这些更改为 @shared_task 并编写了一些代码来创建 CrontabSchedule 实例并将 PeriodicTask 实例与应该按计划运行的每个任务的实例相关联。我从beat_init 信号接收器调用它。我将 celery worker & beat 作为单独的进程运行...
»
经过相当多的反复试验和逐步尝试找到解决方案后,我想我在这里分享问题并根据我的发现自己回答。除了一些零碎的东西外,没有太多关于这方面的文档,希望将来能对其他人有所帮助。
请注意,这是特定于 Django、Celery、Redis 和 Digital Ocean App Platform 的。
这主要是关于以下错误和进一步的影响:
OSError: [Errno 38] 功能未实现
和
无法连接...
»
有单一的芹菜节拍运行:
celery -A app:celery beat --loglevel=DEBUG
还有三个跑过的工人:
celery -A app:celery worker -E --loglevel=ERROR -n n1
celery -A app:celery worker -E --loglevel=ERROR -n n2
celery -A app:celery work...
»
我有一个芹菜节拍时间表:
CELERY_BEAT_SCHEDULE = {
"test-task": {
"task": "myapp.tasks.test_task",
"schedule": crontab(hour=20), # Should execute...
»
我在基于 Docker 的设置中有 Django Celery 和 Beat。我的设置分为他们关注的环境。 base.py 包含staging.py 和production.py 所需的通用配置。在我的common.py 中,我正在初始化一个类似这样的变量
from datetime import datetime
import pytz
est_timezone = datetime.now(...
»
如何在 celery beat 中以不同的方式安排工作日和周末的任务?
时间表在我的settings.py文件中设置如下
{
"task_weekday": {
"task": "tasks.my_regular_task",
"schedule": crontab(minute="0-30", hour="4,5", day_of_week="mon-fr...
»
问题是我得到以下日志:
celery_1 | [2021-03-15 19:00:00,124: INFO/MainProcess] Scheduler: Sending due task read_dof (api.tasks.read_dof)
celery_1 | [2021-03-15 19:00:00,140: INFO/MainProcess] Scheduler: Sending...
»
在我的 Django 项目中,我在两个不同的应用程序中有两个任务,我想用 Celery 定期运行它们。
工人似乎在收集任务,而节拍似乎在收集时间表。但是,节拍卡在启动(它没有同步时间表)并且从未将任务交付给工作人员。
celery --app=bozonaro worker --loglevel=debug --beat(bozonaro 是我的 django 项目的名称)命令向我提示以下内容:
...
»
我有一个 Django 应用程序,它在 Celery 上运行定期任务。
过程文件
worker: celery -A myproject worker --loglevel=INFO
beat : celery -A myproject beat --scheduler redbeat.RedBeatScheduler
我已尝试使用 RedBeatScheduler 和 django_celer...
»
我使用 Django 2.2.12 和 Celery 4.4.7
我有一些功能(例如:下载图片)需要同时用作视图和计划的重复任务。设置它的最佳方法是什么?下面的代码生成以下错误消息:
NameError: name 'downloadpictures' 未定义
下载app/views.py
def downloadpictures(request=None):
xxx
xxx
...
»
我正在使用 django celery 和 redis(代理)。我在我的一个工作实例上观察到以下错误。
[2020-12-27 02:26:15,920: INFO/MainProcess] missed heartbeat from worker@ip-xxx-xx-xx-
xxx.ec2.internal
[2020-12-27 02:26:40,937: INFO/MainProcess] ...
»
我正在尝试将我的应用程序部署到 Heroku,我正在使用 amazon s3 存储桶进行静态处理,但静态图标未显示在网站上,我需要帮助设置 celery 和 celery beat 的工作人员以在 Heroku 上工作。< /p>
这是我的 Dockerfile:
# pull the official base image
FROM python:3.8.3-alpine as builder
...
»
我一直在广泛搜索,到目前为止我遇到的一切都表明我的配置是正确的......我可以看到我的任务正在我的 celery worker 容器中注册。我没有看到它们在我的节拍容器中注册(但我认为我应该这样做?我应该只看到我所做的任务)但这些任务没有运行。
芹菜.py
from __future__ import absolute_import, unicode_literals
import os
fro...
»
当我尝试运行 docker 容器时,Celery Beat 会导致权限错误。这是因为 Docker 文件中的用户权限,所以我似乎在那里配置了一些错误。我尝试了所有可能的解决方案,但错误仍然出现。请帮我弄清楚我做错了什么。谢谢。
这是 Docker 文件:
FROM python:3.7-alpine
ENV PYTHONUNBUFFERED 1
COPY ./requirements.txt /...
»
我有一个 Celery Beat 每 5 秒调用一次的函数,它会将一些内容附加到全局变量中。
我希望我的函数每 5 秒将元素添加到全局变量,但它每 20 秒执行一次。
这里是tasks.py:
# tasks.py
from celery import shared_task
from .celeryapp import app
from . import cfg
@shared_task
de...
»
我一直在研究两个类似的教程(here 和 here),试图为我的 Django 项目创建计划任务,但我似乎无法从 Celery 服务中获得任何输出。
我已将 Celery 和 Redis 添加到 requirements.txt。
Django==3.0.7
celery==4.4.7
redis==3.5.3
将 celery、celery-beat 和 redis 服务添加到docker-c...
»