用于使用django框架中的gearman作业服务器的django管理命令
django-gearman-commands的Python项目详细描述
关于Gearman
如项目网站上所述,Gearman提供了"一个通用的应用程序框架,将工作分配给其他更适合做这项工作的机器或流程"。 实际上,gearman是一个守护进程、服务,运行在tcp端口上,等待希望完成任务的客户机和处理和处理任务的工人。 gearman"manager"的anagram本身的功能与manager完全相同-接受客户的请求并将其分发给员工。
说明它如何与一台Gearman服务器一起工作:
---------- ---------- ---------- ---------- | Client | | Client | | Client | | Client | ---------- ---------- ---------- ---------- \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | / ------------------------------ | Gearman Job Server | ------------------------------ | ---------------------------------------------- | | | | ---------- ---------- ---------- ---------- | Worker | | Worker | | Worker | | Worker | ---------- ---------- ---------- ----------
客户 要求完成工作。这是您的(网络)应用程序。
Gearman 服务器将作业请求插入队列并通知工人。
工人 要求工作并对其进行处理。worker是独立运行的脚本/程序。
注意,上图中的单Gearman作业服务器只是为了简化图示。 即使gearman本身也非常稳定,在生产中,建议至少运行两个作业服务器 用于冗余。
Gearman有API用于编写客户端和工作人员很多环境——Python、Ruby、PHP、Java、Perl、C,可能还有其他一些。 实际上,您可以用相同或不同的语言编写工作者。 例如,如果您有php应用程序,您可以使用gearman php api,但是您的工作人员可以用python编写。 Gearman的设计考虑到了灵活性。
您可以在http://gearman.org/index.php上阅读更多关于gearman本身的信息