Guest User

Untitled

a guest
Jul 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. import sys
  2.  
  3. from tests.local.graph_connect import graph_client
  4.  
  5. g = graph_client.graph_traversal
  6.  
  7. parallelism = int(sys.argv[1])
  8.  
  9. components = {"Sp" : parallelism, "A" : parallelism, "B" : parallelism,
  10. "C" : parallelism}
  11.  
  12. task_id = 0
  13.  
  14. # Create all the nodes
  15. print("Creating nodes")
  16.  
  17. for component, parallelism in components.items():
  18.  
  19. print(f"Adding nodes for component {component}")
  20.  
  21. for _ in range(parallelism):
  22.  
  23. print(f"Creating node: {task_id}")
  24.  
  25. (g.addV("instance").property("component", component)
  26. .property("task_id", task_id)
  27. .next())
  28.  
  29. task_id += 1
  30.  
  31. # Create all the connections
  32. print("Creating edges")
  33. order = list(components.keys())
  34. for i, source_component in enumerate(order):
  35.  
  36. if i == (len(order) - 1):
  37. break
  38.  
  39. print(f"Connecting instances of component {source_component}")
  40.  
  41. destination_component = order[i+1]
  42.  
  43. sources = (g.V().hasLabel("instance")
  44. .has("component", source_component)
  45. .toList())
  46.  
  47. destinations = (g.V().hasLabel("instance")
  48. .has("component", destination_component)
  49. .toList())
  50.  
  51. for j, source in enumerate(sources):
  52. print(f"Connecting source vertex {j+1} of {len(sources)}")
  53. for destination in destinations:
  54. g.V(source).addE("logical").to(destination).next()
  55.  
  56. print("Done")
Add Comment
Please, Sign In to add comment