栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

分布式任务队列(例如Celery)与crontab脚本

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分布式任务队列(例如Celery)与crontab脚本

这取决于你希望任务执行的操作,是否需要分发任务以及如何管理它们。

crontab能够每N个间隔执行一次脚本。它运行,然后返回。从本质上讲,你每个时间间隔都会执行一次。你只需指挥crontab即可执行django管理命令并获得对整个django环境的访问权限,因此celery并不能真正为你提供帮助。

在消息队列的帮助下,Celery带到桌子上的是分布式任务。许多服务器可以加入工作人员池,并且每个服务器都可以接收工作项,而不必担心双重处理。准备就绪后,也可以立即执行任务。使用cron时,你的时间不得超过一分钟。

举例来说,假设你刚刚启动了一个新的Web应用程序,并且正在接收数百次注册,这些注册需要向每个用户发送电子邮件。发送电子邮件可能需要较长的时间(相对),因此你决定要通过任务处理激活电子邮件。

如果你使用的是cron,则需要确保cron每一分钟都能够处理所有需要发送的电子邮件。如果你有多台服务器,则现在需要确保没有向同一用户发送多封激活电子邮件-你需要某种同步。

使用Celery,你可以将任务添加到队列中。每个服务器上可能有几个工作人员,所以你已经在进行cronjob之前进行了扩展。你可能还拥有多个服务器,可以扩展更多服务器。同步作为“队列”的一部分进行处理。

你可以将Celery用作cron的替代品,但这并不是它的主要用途。它用于在分布式群集中播种异步任务。

当然,Celery具有大量 cron所没有的功能。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号