Skip to content
Snippets Groups Projects
Select Git revision
  • b2ea14c650a5e1a476d9035ed19beb7573b2308e
  • master default protected
  • L2SS-1914-fix_job_dispatch
  • TMSS-3170
  • TMSS-3167
  • TMSS-3161
  • TMSS-3158-Front-End-Only-Allow-Changing-Again
  • TMSS-3133
  • TMSS-3319-Fix-Templates
  • test-fix-deploy
  • TMSS-3134
  • TMSS-2872
  • defer-state
  • add-custom-monitoring-points
  • TMSS-3101-Front-End-Only
  • TMSS-984-choices
  • SDC-1400-Front-End-Only
  • TMSS-3079-PII
  • TMSS-2936
  • check-for-max-244-subbands
  • TMSS-2927---Front-End-Only-PXII
  • Before-Remove-TMSS
  • LOFAR-Release-4_4_318 protected
  • LOFAR-Release-4_4_317 protected
  • LOFAR-Release-4_4_316 protected
  • LOFAR-Release-4_4_315 protected
  • LOFAR-Release-4_4_314 protected
  • LOFAR-Release-4_4_313 protected
  • LOFAR-Release-4_4_312 protected
  • LOFAR-Release-4_4_311 protected
  • LOFAR-Release-4_4_310 protected
  • LOFAR-Release-4_4_309 protected
  • LOFAR-Release-4_4_308 protected
  • LOFAR-Release-4_4_307 protected
  • LOFAR-Release-4_4_306 protected
  • LOFAR-Release-4_4_304 protected
  • LOFAR-Release-4_4_303 protected
  • LOFAR-Release-4_4_302 protected
  • LOFAR-Release-4_4_301 protected
  • LOFAR-Release-4_4_300 protected
  • LOFAR-Release-4_4_299 protected
41 results

ingestservice.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ingestservice.py 3.33 KiB
    #!/usr/bin/env python
    
    # Copyright (C) 2015
    # ASTRON (Netherlands Institute for Radio Astronomy)
    # P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
    #
    # This file is part of the LOFAR software suite.
    # The LOFAR software suite is free software: you can redistribute it
    # and/or modify it under the terms of the GNU General Public License as
    # published by the Free Software Foundation, either version 3 of the
    # License, or (at your option) any later version.
    #
    # The LOFAR software suite is distributed in the hope that it will be
    # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License along
    # with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>.
    #
    
    """
    """
    
    import qpid.messaging
    import logging
    from datetime import datetime
    import time
    from lofar.messaging import Service
    from lofar.messaging.Service import MessageHandlerInterface
    from lofar.lta.ingest.config import DEFAULT_INGEST_BUSNAME, DEFAULT_INGEST_SERVICENAME
    
    logger = logging.getLogger(__name__)
    
    class IngestServiceMessageHandler(MessageHandlerInterface):
        def __init__(self, **kwargs):
            super(IngestServiceMessageHandler, self).__init__(**kwargs)
    
            self.service2MethodMap = {}
    
    def createService(busname=DEFAULT_INGEST_BUSNAME, servicename=DEFAULT_INGEST_SERVICENAME, broker=None, verbose=False):
        return Service(servicename,
                       IngestServiceMessageHandler,
                       busname=busname,
                       broker=broker,
                       use_service_methods=True,
                       numthreads=1,
                       handler_args={},
                       verbose=verbose)
    
    def main():
        # make sure we run in UTC timezone
        import os
        os.environ['TZ'] = 'UTC'
    
        from optparse import OptionParser
        from lofar.messaging import setQpidLogLevel
        from lofar.common.util import waitForInterrupt
    
        # Check the invocation arguments
        parser = OptionParser("%prog [options]",
                              description='runs the ingest service')
        parser.add_option('-q', '--broker', dest='broker', type='string',
                          default=None,
                          help='Address of the qpid broker, default: localhost')
        parser.add_option("--ingest_busname", dest="ingest_busname", type="string",
                          default=DEFAULT_INGEST_BUSNAME,
                          help="Name of the bus on which the ingest service listens. [default: %default]")
        parser.add_option("--ingest_servicename", dest="ingest_servicename", type="string",
                          default=DEFAULT_INGEST_SERVICENAME,
                          help="Name of the ingest service. [default: %default]")
        parser.add_option('-V', '--verbose', dest='verbose', action='store_true', help='verbose logging')
        (options, args) = parser.parse_args()
    
        setQpidLogLevel(logging.INFO)
        logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
                            level=logging.DEBUG if options.verbose else logging.INFO)
    
        with createService(servicename=options.ingest_servicename, busname=options.ingest_busname, broker=options.broker, verbose=options.verbose) as ingest_service:
            waitForInterrupt()
    
    if __name__ == '__main__':
        main()
    
    __all__ = ['main']