对于一个Celery使用场景的假设。Celery是否适合处理复杂冗长的任务呢?
澳门新葡京官网
澳门新葡京官网
当前位置 : 澳门新葡京官网 > 澳门新葡京官网

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

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

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

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

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

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

如果是我 我就用redis+python

栏目列表

广告位

澳门新葡京官网