37,719
社区成员
发帖
与我相关
我的任务
分享
start!
Connect to server 127.0.0.1...
Traceback (most recent call last):
File "queue_worker.py", line 54, in <module>
main()
File "queue_worker.py", line 34, in main
manager.connect()
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\managers.py", line 489, in connect
conn = Client(self._address, authkey=self._authkey)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\connection.py", line 487, in Client
c = SocketClient(address)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\multiprocessing\connection.py", line 614, in SocketClient
s.connect(address)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
import sys, time, queue
from multiprocessing.managers import BaseManager
from multiprocessing import freeze_support
#task_queue = queue.Queue()
#result_queue = queue.Queue()
class QueueManager(BaseManager):
pass
# windows下运行
# def return_task_queue():
# global task_queue
# return task_queue # 返回发送任务队列
# def return_result_queue ():
# global result_queue
# return result_queue # 返回接收结果队列
def main():
QueueManager.register('get_task_queue')
QueueManager.register('get_result_queue')
#
server_addr = '127.0.0.1'
print('Connect to server %s...' % server_addr)
manager = QueueManager(address=(server_addr, 5000), authkey=b'abc')
manager.connect()
task = manager.get_task_queue
result = manager.get_result_queue
for i in range(10):
try:
n = task.get(timeout=1)
print('Run task %d*%d' % (n, n))
r = '%d * %d = %d' % (n, n, n*n)
time.sleep(1)
result.put(r)
except queue.Empty as e:
print('result queue Empty')
print('worker exit.')
if __name__ == '__main__':
freeze_support()
print('start!')
main()