分享

在学习Python分布式进程中你会踩到的坑,多注意!

 flyk0tcfb46p9f 2018-04-12

引言

小惊大怪

你是不是在用Python3或者在windows系统上编程?最重要的是你对进程和线程不是很清楚?那么恭喜你,在python分布式进程中,会有坑等着你去挖。。。(hahahaha,此处允许我吓唬一下你)开玩笑的啦,不过,如果你知道序列中不支持匿名函数,那这个坑就和你say byebye了。好了话不多数,直接进入正题。

分布式进程

代码记录

举个例子

写个task_master.py

我们先看服务进程。服务进程负责启动Queue,把Queue注册到网络上,然后往Queue里面写入任务。

写个task_worker.py

任务进程要通过网络连接到服务进程,所以要指定服务进程的IP。

运行结果

现在,可以试试分布式进程的工作效果了。先启动task_master.py服务进程:

task_master.py进程发送完任务后,开始等待result队列的结果。现在启动task_worker.py进程:

看到没,结果都出错了,我们好好分析一下到底哪出错了。。。

错误分析

值得注意 在windows系统中你必须要写IP地址,而其他操作系统比如linux操作系统则就不要了。

修改后的代码

在task_master.py中修改如下:

在task_worker.py中修改如下:

(2)task_worker.py运行结果如下

知识补充

authkey有什么用?这是为了保证两台机器正常通信,不被其他机器恶意干扰。如果task_worker.py的authkey和task_master.py的authkey不一致,肯定连接不上。

如有侵权,请联系小编删除

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多