JobSubmissionService-remote 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/usr/bin/env python
  2. #
  3. # Autogenerated by Thrift
  4. #
  5. # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  6. #
  7. import sys
  8. import pprint
  9. from urlparse import urlparse
  10. from thrift.transport import TTransport
  11. from thrift.transport import TSocket
  12. from thrift.transport import THttpClient
  13. from thrift.protocol import TBinaryProtocol
  14. import JobSubmissionService
  15. from ttypes import *
  16. if len(sys.argv) <= 1 or sys.argv[1] == '--help':
  17. print ''
  18. print 'Usage: ' + sys.argv[0] + ' [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]'
  19. print ''
  20. print 'Functions:'
  21. print ' SubmissionHandle submit(SubmissionPlan plan)'
  22. print ' JobData get_job_data(SubmissionHandle handle)'
  23. print ''
  24. sys.exit(0)
  25. pp = pprint.PrettyPrinter(indent = 2)
  26. host = 'localhost'
  27. port = 9090
  28. uri = ''
  29. framed = False
  30. http = False
  31. argi = 1
  32. if sys.argv[argi] == '-h':
  33. parts = sys.argv[argi+1].split(':')
  34. host = parts[0]
  35. port = int(parts[1])
  36. argi += 2
  37. if sys.argv[argi] == '-u':
  38. url = urlparse(sys.argv[argi+1])
  39. parts = url[1].split(':')
  40. host = parts[0]
  41. if len(parts) > 1:
  42. port = int(parts[1])
  43. else:
  44. port = 80
  45. uri = url[2]
  46. if url[4]:
  47. uri += '?%s' % url[4]
  48. http = True
  49. argi += 2
  50. if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
  51. framed = True
  52. argi += 1
  53. cmd = sys.argv[argi]
  54. args = sys.argv[argi+1:]
  55. if http:
  56. transport = THttpClient.THttpClient(host, port, uri)
  57. else:
  58. socket = TSocket.TSocket(host, port)
  59. if framed:
  60. transport = TTransport.TFramedTransport(socket)
  61. else:
  62. transport = TTransport.TBufferedTransport(socket)
  63. protocol = TBinaryProtocol.TBinaryProtocol(transport)
  64. client = JobSubmissionService.Client(protocol)
  65. transport.open()
  66. if cmd == 'submit':
  67. if len(args) != 1:
  68. print 'submit requires 1 args'
  69. sys.exit(1)
  70. pp.pprint(client.submit(eval(args[0]),))
  71. elif cmd == 'get_job_data':
  72. if len(args) != 1:
  73. print 'get_job_data requires 1 args'
  74. sys.exit(1)
  75. pp.pprint(client.get_job_data(eval(args[0]),))
  76. else:
  77. print 'Unrecognized method %s' % cmd
  78. sys.exit(1)
  79. transport.close()