文件 redis_ray.py
import ray import redis @ray.remote class RedisActor: def __init__(self, h, p): self.redis = redis.Redis(host=h, password=p) def set(self, key, value): self.redis.set(key, value) def get(self,key): return self.redis.get(key)
文件 ray_actor.py
import ray from multiprocessing import Process from redis_ray import RedisActor @ray.remote def get_print(): print('get_print') def get_ray_info(): red_c = ray.get_actor('redis_client') # 66 print(ray.get(red_c.get.remote('abc')), 'zi') # 77 print(ray.is_initialized()) ray.init(num_cpus=2) redis_client = RedisActor.options(name="redis_client").remote("127.0.0.1", "xx") ray.get(redis_client.set.remote('abc', 3368)) reuslt = ray.get(redis_client.get.remote('abc')) print(reuslt) ray.get(redis_client.set.remote('abc', 3369)) p = Process(target=get_ray_info) p.start() ray.shutdown()
本意是子进程做完,可以操作管理redis的
python ray_actor.py
执行后卡死在66了, 终端什么都没有,不明所以,有没有谁可以跑的 ray2.5.1版本