引言小惊大怪 你是不是在用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不一致,肯定连接不上。 如有侵权,请联系小编删除 ![]()
|
|
来自: flyk0tcfb46p9f > 《AI》