
Introduces the time_sync object which can sync time with an external time service (like the time_sync service in notigen). This is used for playback of old events. It prevents premature expiry triggers. Also some tweaks to the UsageHandler, work in progress and used for testing. Change-Id: I45033fbd9c12d98f96816a4f90cf7dc8c915ef51
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
import argparse
|
|
import daemon
|
|
import logging
|
|
from logging.config import fileConfig
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
from winchester.config import ConfigManager
|
|
from winchester.pipeline_manager import PipelineManager
|
|
from winchester import time_sync
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(description="Winchester pipeline worker")
|
|
parser.add_argument('--config', '-c', default='winchester.yaml',
|
|
help='The name of the winchester config file')
|
|
parser.add_argument('--daemon', '-d', help='Run in daemon mode.')
|
|
args = parser.parse_args()
|
|
conf = ConfigManager.load_config_file(args.config)
|
|
|
|
if 'logging_config' in conf:
|
|
fileConfig(conf['logging_config'])
|
|
else:
|
|
logging.basicConfig()
|
|
if 'log_level' in conf:
|
|
level = conf['log_level']
|
|
level = getattr(logging, level.upper())
|
|
logging.getLogger('winchester').setLevel(level)
|
|
timesync = time_sync.TimeSync(conf)
|
|
pipe = PipelineManager(conf, time_sync=timesync)
|
|
if args.daemon:
|
|
print "Backgrounding for daemon mode."
|
|
with daemon.DaemonContext():
|
|
pipe.run()
|
|
else:
|
|
pipe.run()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|