本文主要讲解“Python芹菜如何派遣Go worker”,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你去学习“巨蟒芹菜如何作息上班”!
我们可以使用Go为计算密集型任务编写一个Worker,然后使用Python的芹菜节拍来调度这个Worker。这里有一个演示:
1.编写Go Worker
最好将计算密集型任务转化为Go语言版本,这样收益最大化。
比如这里,我用的是老梗,上次从1亿降到了1。
PS,不要被下面的代码吓到。其实大部分都是可以删除的配置项,核心代码也就几行。
输入命令:
戈伦明,走
你可以管理工人。
2.编写Python客户端
每5秒,调度1亿对1,但不要运行Python worker。因为Go Worker正在运行,这里的减将被Go Worker消耗。
另外,请注意,这里的减函数实际上只是为了被识别而写的,其内容没有意义,所以直接写一个pass就可以了(因为它实际上是被Go Worker消耗的)。
写完后,开始节拍进行go_tasks模块:
芹菜-Ago _ tasks bat
此时,调度程序将调度Go Worker执行任务:
如您所见,我们成功地使用Python的芹菜节拍来调度Go编写的Worker!恭喜你。
接下来,让我们看看简单地用Python的Worker进行这种计算有多耗时:
开始工作:
celerryworker-Apython _ tasks-linfo-pool=event let
开始节拍计划程序:
芹菜-Apython_tasksbeat
结果如下:
可以看到,Python从1亿减少到1个平均需要5.2秒左右,与Go版本相差100倍左右。
如果我们把调度器的频率提高到每秒计算一次,那么Worker的Python版本的任务队列就会被阻塞,因为Worker的开销能力不够强。相比之下,Go版本的Worker非常强大。
因此,如果您的项目中有这样一个计算密集型任务,您可以尝试将其提取到Go版本中,这可能是一个惊喜。
至此,相信大家对“Python芹菜如何派单Go worker”有了更深的理解,那么就来一个实操吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/123902.html