Fix some bugs causing Travis test failures. (#839)

* Fix bug in which worker has no actor_class attribute.

* Remove case where we check if processes are defunct.
This commit is contained in:
Robert Nishihara
2017-08-16 01:18:32 -07:00
committed by Philipp Moritz
parent ca53e9ae7b
commit cf41964816
2 changed files with 4 additions and 9 deletions
+3 -1
View File
@@ -6,6 +6,7 @@ import cloudpickle as pickle
import hashlib
import inspect
import json
import time
import traceback
import ray.local_scheduler
@@ -215,7 +216,8 @@ def reconstruct_actor_state(actor_id, worker):
print("Loading actor state from checkpoint {}"
.format(checkpoint_index))
# Wait for the actor to have been defined.
worker._wait_for_actor()
while not hasattr(worker, "actor_class"):
time.sleep(0.001)
# TODO(rkn): Restoring from the checkpoint may fail, so this should be
# in a try-except block and we should give a good error message.
worker.actors[actor_id] = (
+1 -8
View File
@@ -4,7 +4,6 @@ from __future__ import print_function
import json
import os
import psutil
import redis
import time
@@ -115,18 +114,12 @@ def _pid_alive(pid):
pid: The pid to check.
Returns:
This returns false if the process is dead or defunct. Otherwise, it
returns true.
This returns false if the process is dead. Otherwise, it returns true.
"""
try:
os.kill(pid, 0)
except OSError:
return False
else:
if psutil.Process(pid).status() == psutil.STATUS_ZOMBIE:
return False
else:
return True
def wait_for_pid_to_exit(pid, timeout=20):