2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-12-25 04:32:11 +00:00

Use scanning status to control rescan behaviors

This causes the manual assignment to sleep less and for the rescan
command to meaningfully slow down shell requests to provide better sense
of when scan completes.
This commit is contained in:
Jarrod Johnson 2018-11-14 14:17:12 -05:00
parent a93a759b72
commit 0e7bfe4f40

View File

@ -170,9 +170,7 @@ def import_csv(options, session):
if not datum_complete(nodedatum):
sys.exit(1)
if not search_record(nodedatum, options, session):
list(session.update('/discovery/rescan',
{'rescan': 'start'}))
time.sleep(5)
blocking_scan(session)
if not search_record(nodedatum, options, session):
sys.stderr.write(
"Could not match the following data: " +
@ -285,6 +283,10 @@ def assign_discovery(options, session):
else:
print(repr(res))
def blocking_scan(session):
list(session.update('/discovery/rescan', {'rescan': 'start'}))
while(list(session.read('/discovery/rescan'))[0].get('scanning', False)):
time.sleep(0.5)
def main():
@ -338,8 +340,8 @@ def main():
if args[0] == 'assign':
assign_discovery(options, session)
if args[0] == 'rescan':
list(session.update('/discovery/rescan', {'rescan': 'start'}))
print("Rescan initiated")
blocking_scan(session)
print("Rescan complete")
if __name__ == '__main__':