Всем привет!
Есть такой код:
from apiserver import ApiServer, ApiRoute
import socket
import time
from multiprocessing import Process, Queue
class MyServer(ApiServer):
@ApiRoute("/")
def addbar(req):
print(req["tx_body"])
a.put("HelloWORLD")
print(a.get())
return {"tx_body":req["tx_body"]+1}
@ApiRoute("/baz")
def justret(req):
if req:
raise ApiError(501,"no data in for baz")
return {"obj":1}
def sock(a):
print("Hello")
print(a.get())
s = socket.socket()
s.bind(('0.0.0.0', 5001 ))
s.listen(0)
while True:
print(a.get())
client, addr = s.accept()
while addr:
print(a.get())
if a.get() != "":
#print("ok")
client.send(a.get().encode())
#a.get() = ""
else:
client.send("=(((((((".encode())
time.sleep(5)
print("Closing connection")
client.close()
def main():
a = Queue()
a.put("")
s = Process(target=MyServer("127.0.0.1",5000).serve_forever)
a = Process(target=sock, args=(a,))
s.start()
a.start()
s.join()
a.join()
if __name__ == "__main__":
main()
В качестве библиотеки apiserver используется :
https://gist.github.com/earonesty/ab07b4c0fea2c226...
Каким образом мне передать переменную a = Queue() в процесс s?
Необходимо что бы переменная изменялась в этой части кода
@ApiRoute("/")
def addbar(req):
print(req["tx_body"])
a.put("HelloWORLD")
print(a.get())
return {"tx_body":req["tx_body"]+1}