Add some better balancing, reconnection

This commit is contained in:
Barak Michener 2020-12-04 22:40:50 -08:00
parent 715f79c9c0
commit 324ba0d160
6 changed files with 77 additions and 29 deletions

View file

@ -1,6 +1,7 @@
from ray import ray
import sys
ray.connect("localhost:50050")
ray.connect(sys.argv[1])
@ray.remote
def plus2(x):
@ -14,4 +15,17 @@ def fact(x):
return 1
return x * ray.get(fact.remote(x - 1))
print(ray.get(fact.remote(20)))
#print(ray.get(fact.remote(20)))
@ray.remote
def sleeper(x):
import time
time.sleep(1)
return x * 2
holder = []
for i in range(20):
holder.append(sleeper.remote(i))
print([ray.get(x) for x in holder])

View file

@ -10,6 +10,7 @@ from ray import ray
from ray.common import ClientObjectRef
class Worker:
def __init__(self, conn_str):
self.channel = grpc.insecure_channel(conn_str)
@ -37,9 +38,9 @@ class Worker:
continue
args = self.decode_args(task)
func = self.get(task.payload_id)
#self.pool.submit(self.run_and_return, func, args, work.ticket)
t = threading.Thread(target=self.run_and_return, args=(func, args, work.ticket))
t.start()
self.pool.submit(self.run_and_return, func, args, work.ticket)
#t = threading.Thread(target=self.run_and_return, args=(func, args, work.ticket))
#t.start()
def run_and_return(self, func, args, ticket):
@ -50,6 +51,7 @@ class Worker:
complete_data = out_data,
finished_ticket = ticket,
))
print("Finished Work")
# def get(self, id_bytes):
# data = self.server.GetObject(ray_client_pb2.GetRequest(