コード例 #1
0
size = int(handle.attr_get("size"))

log.info("unloading resource modules across %d ranks", size)
resource_unload_all()

log.info("reloading resource module on rank 0")
resource_load(0)

log.info("initiating RPC to wait for %d ranks", size)
future = RPC(handle, "resource.monitor-waitup", {"up": size})

#  Ensure waitup initially blocks
delay = 0.5
log.info("waiting up to %.2fs for RPC (should block)", delay)
try:
    future.wait_for(delay)
except OSError as err:
    if err.errno == errno.ETIMEDOUT:
        pass
    else:
        raise err

if future.is_ready():
    log.error("resource.get-xml returned before expected")
    sys.exit(1)

log.info("loading resource module on %d remaining ranks", size - 1)
for rank in range(1, size):
    resource_load(rank)

# Ensure waitup can now complete
コード例 #2
0
ファイル: waitup.py プロジェクト: dreamer2368/flux-core
size = int(handle.attr_get("size"))

log.info("unloading resource modules across %d ranks", size)
resource_unload_all()

log.info("reloading resource module on rank 0")
resource_load(0)

log.info("initiating RPC to wait for %d ranks", size)
future = RPC(handle, "resource.monitor-waitup", {"up": size})

#  Ensure waitup initially blocks
delay = 0.5
log.info("waiting up to %.2fs for RPC (should block)", delay)
try:
    future.wait_for(delay)
except OSError as err:
    if err.errno == errno.ETIMEDOUT:
        pass
    else:
        raise err

if future.is_ready():
    log.error("resource.get-xml returned before expected")
    sys.exit(1)

log.info("loading resource module on %d remaining ranks", size - 1)
for rank in range(1, size):
    resource_load(rank)

# Ensure waitup can now complete