Skip to content
Snippets Groups Projects
Commit 44a21a32 authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

Task #9349: inital python mom rpc client for copy task and more. Talks to Java MoM services.

parent fcc63856
No related branches found
No related tags found
Loading
......@@ -4726,6 +4726,7 @@ SAS/MoM/MoMQueryService/momqueryrpc.py -text
SAS/MoM/MoMQueryService/momqueryservice -text
SAS/MoM/MoMQueryService/momqueryservice.ini -text
SAS/MoM/MoMQueryService/momqueryservice.py -text
SAS/MoM/MoMQueryService/momrpc.py -text
SAS/MoM/MoMQueryService/test/CMakeLists.txt -text
SAS/MoM/MoMQueryService/test/test_momqueryservice.py -text
SAS/MoM/MoMQueryService/test/test_momqueryservice.run -text
......
......@@ -9,6 +9,7 @@ set(_py_files
config.py
momqueryservice.py
momqueryrpc.py
momrpc.py
)
python_install(${_py_files} DESTINATION lofar/mom/momqueryservice)
......
......@@ -5,3 +5,6 @@ from lofar.messaging import adaptNameToEnvironment
DEFAULT_MOMQUERY_BUSNAME = adaptNameToEnvironment('lofar.ra.command')
DEFAULT_MOMQUERY_SERVICENAME = 'momqueryservice'
DEFAULT_MOM_BUSNAME = adaptNameToEnvironment('lofar.mom.bus')
DEFAULT_MOM_SERVICENAME = ''
#!/usr/bin/python
import sys
import logging
from optparse import OptionParser
from lofar.messaging.RPC import RPC, RPCException, RPCWrapper
from lofar.mom.momqueryservice.config import DEFAULT_MOM_BUSNAME, DEFAULT_MOM_SERVICENAME
logger = logging.getLogger(__file__)
class MoMRPC(RPCWrapper):
def copyTask(self, mom2id, newTaskName=None, newTaskDescription=None):
logger.info("calling copyTask rpc for mom2id %s" % (mom2id))
new_task_mom2id = self.rpc('TaskCopy', mom2Id=mom2id) #, newTaskName=newTaskName, newTaskDescription=newTaskDescription)
logger.info("mom2id of copied task = %s" % (new_task_mom2id))
return new_task_mom2id
def main():
# Check the invocation arguments
parser = OptionParser('%prog [options]',
description='do rpc calls to the momservice from the commandline')
parser.add_option('-q', '--broker', dest='broker', type='string', default=None, help='Address of the qpid broker, default: localhost')
parser.add_option('-b', '--busname', dest='busname', type='string', default=DEFAULT_MOM_BUSNAME, help='Name of the bus exchange on the qpid broker [default: %default]')
parser.add_option('-s', '--servicename', dest='servicename', type='string', default=DEFAULT_MOM_SERVICENAME, help='Name for this service [default: %default]')
parser.add_option('--mom2id', dest='mom2id_to_copy', type='int', help='[REQUIRED] mom2id of the task to copy.')
parser.add_option('-V', '--verbose', dest='verbose', action='store_true', help='verbose logging')
(options, args) = parser.parse_args()
if options.mom2id_to_copy == None:
parser.print_help()
parser.error('Missing required option mom2id')
verbose = bool(options.verbose)
logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
level=logging.DEBUG if verbose else logging.INFO)
with MoMRPC(busname=options.busname, servicename=options.servicename, broker=options.broker, verbose=verbose) as rpc:
print rpc.copyTask(options.mom2id_to_copy)
if __name__ == '__main__':
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment