对于一个Celery使用场景的假设。Celery是否适合处理复杂冗长的任务呢?

发布于 2022-09-04 09:07:42 字数 415 浏览 13 评论 0

最近在搞自己的一个小项目,但是对于一些技术的选取有一些迷惑,希望有人能够指点一番。
使用场景,假设获得授权,获取了用户的邮箱登录的密钥,密钥种类分basic auth和Oauth, 前者获得的是邮箱地址和密码, 后者则是邮箱地址和Access Token:

  • 利用celery对于OAuth类型的密钥,定期进行刷新Token的任务

  • 利用邮箱密钥,在固定间隔内登录用户的邮箱,获取指定邮件信息,存储到数据库。

celery是否能够胜任这项任务?考虑到邮件的parsing和存储可能会需要一些时间,当用户数剧增的时候,celery的distributed tasks能否胜任这项任务
如果在服务器端针对每一个邮箱的密钥建立一个local的IMAPClient,是否能够替代Celery还是有更好的解决方案?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半城柳色半声笛 2022-09-11 09:07:42

Celery的好处是可以方便的横向扩展,官方推荐的是尽量将大任务拆分成小任务.
个人认为除了消息的传递,Celery可以近似的理解成多进程/线程/协程的处理,本身对于任务的耗时什么的并没有太强烈的指向性.
另外,邮件的parsing和存储可以拆分,获取的话可以用协程,处理的话可以用进程,嗯嗯.

三生路 2022-09-11 09:07:42

如果是我 我就用redis+python

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文