src/pyams_scheduler/scheduler.py
changeset 19 687d616d7dfb
parent 6 4a1bc9eb89ad
child 28 da8e5e36b223
equal deleted inserted replaced
18:4806161ea41a 19:687d616d7dfb
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
    10 # FOR A PARTICULAR PURPOSE.
    10 # FOR A PARTICULAR PURPOSE.
    11 #
    11 #
       
    12 from pyams_zmq.socket import zmq_socket, zmq_response
    12 
    13 
    13 __docformat__ = 'restructuredtext'
    14 __docformat__ = 'restructuredtext'
    14 
    15 
    15 
    16 
    16 # import standard library
    17 # import standard library
    70     def _get_socket(self):
    71     def _get_socket(self):
    71         """Open ØMQ socket"""
    72         """Open ØMQ socket"""
    72         registry = get_current_registry()
    73         registry = get_current_registry()
    73         handler = registry.settings.get(SCHEDULER_HANDLER_KEY, False)
    74         handler = registry.settings.get(SCHEDULER_HANDLER_KEY, False)
    74         if handler:
    75         if handler:
    75             context = zmq.Context()
    76             return zmq_socket(handler)
    76             socket = context.socket(zmq.REQ)
       
    77             socket.connect('tcp://{0}'.format(handler))
       
    78             return socket
       
    79 
    77 
    80     def get_jobs(self):
    78     def get_jobs(self):
    81         socket = self._get_socket()
    79         socket = self._get_socket()
       
    80         if socket is None:
       
    81             return [501, "No socket handler defined in configuration file"]
    82         socket.send_json(['get_jobs', {}])
    82         socket.send_json(['get_jobs', {}])
    83         return socket.recv_json()
    83         return zmq_response(socket)