我可以减少使用celery和beat时对redis数据存储的请求数量吗

问题描述 投票:0回答:1

我正在一个项目上使用 Django + celery + Beat。有没有办法减少对 Redis 数据存储的数量或请求?

该项目在fly.io上运行。飞翔的一部分.toml

[processes]
  app = "gunicorn --bind :8000 zzrec.wsgi"
  beat = "celery -A zzrec beat -l info -S django"
  celery = "celery -A zzrec worker -l INFO"

该项目 - 开发版本 - 正在免费层上运行。但我收到来自 upstash 的

ResponseError: max daily request limit exceeded. Limit: 10000, Usage: 10000.
消息 https://upstash.com/docs/redis/troubleshooting/max_daily_request_limit

所以我想知道是否可以修改 celery 或beat 的设置,这样就不会收到 10.000 个请求。

我需要 celery 来运行“后台”任务,但特别是对于开发环境来说,如果每分钟左右“检查”一次就足够了。不是每一秒。

更新 我可以看到有人已经投票结束这个问题..所以要确定

  • 我不是上述工作项目代码的作者
  • 我是该项目的所有者,但我不是程序员
  • 我进行了谷歌搜索,但没有找到我的问题的答案
  • 设置 Django + celery +beat 的程序员不知道这个问题的答案
django celerybeat django-celery-beat
1个回答
0
投票

芹菜任务上有一个rate_limit变量,但我不认为这会限制Redis上完成的轮询量。

如果您只是运行开发版本并且并不特别关心性能,那么您有两个选择,都不是 whjc:

  1. eager 模式 运行。当 celery 以 eager 模式运行时,所有 celery 任务将立即执行,而不是被调度。
  2. 使用文件系统/内存后端和代理运行。这是一个缓慢的解决方案,但对于少量任务来说,它可能有效。
© www.soinside.com 2019 - 2024. All rights reserved.