From 4b7af1d2a6e8c357eb972a3f5411d5150ef2b845 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Tue, 9 Jun 2015 13:08:50 +0100 Subject: [PATCH] Another update to daqpower - server will now periodically clean up uncollected files - fixed not being able to resolve IP address for hostname (report "localhost" in that case). --- .../external/daq_server/daqpower-1.0.3.tar.gz | Bin 0 -> 14347 bytes .../daq_server/src/daqpower/__init__.py | 2 +- .../daq_server/src/daqpower/server.py | 45 ++++++++++++++++-- 3 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 wlauto/external/daq_server/daqpower-1.0.3.tar.gz diff --git a/wlauto/external/daq_server/daqpower-1.0.3.tar.gz b/wlauto/external/daq_server/daqpower-1.0.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5353ab8064d031ac26bff34f5c0aef435ff620ea GIT binary patch literal 14347 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 z self.cleanup_threshold: + log.debug('Removing {} (existed for {})'.format(entry, existence_time)) + shutil.rmtree(entry_path) + else: + log.debug('Keeping {} (existed for {})'.format(entry, existence_time)) + log.msg('Cleanup complete.') + def __str__(self): return ''.format(self.server) @@ -461,6 +484,13 @@ def run_server(): parser.add_argument('-d', '--directory', help='Working directory', metavar='DIR', default='.') parser.add_argument('-p', '--port', help='port the server will listen on.', metavar='PORT', default=45677, type=int) + parser.add_argument('-c', '--cleanup-after', type=int, default=5, metavar='DAYS', + help=""" + Sever will perodically clean up data files that are older than the number of + days specfied by this parameter. + """) + parser.add_argument('--cleanup-period', type=int, default=1, metavar='DAYS', + help='Specifies how ofte the server will attempt to clean up old files.') parser.add_argument('--debug', help='Run in debug mode (no DAQ connected).', action='store_true', default=False) parser.add_argument('--verbose', help='Produce verobose output.', action='store_true', default=False) @@ -477,9 +507,16 @@ def run_server(): else: log.start_logging('INFO') + # days to seconds + cleanup_period = args.cleanup_period * 24 * 60 * 60 + server = DaqServer(args.directory) - reactor.listenTCP(args.port, DaqFactory(server)).getHost() - hostname = socket.gethostbyname(socket.gethostname()) + factory = DaqFactory(server, cleanup_period, args.cleanup_after) + reactor.listenTCP(args.port, factory).getHost() + try: + hostname = socket.gethostbyname(socket.gethostname()) + except socket.gaierror: + hostname = 'localhost' log.info('Listening on {}:{}'.format(hostname, args.port)) reactor.run()