Remove unused imports, and add VAR_DIR const, to place position and dump.pickle somewhere outside CWD in preparation for running this as a service:)
This commit is contained in:
@ -4,18 +4,18 @@ import signal
|
||||
import os
|
||||
import io
|
||||
import sys
|
||||
import stat
|
||||
from multiprocessing import Process, Queue
|
||||
import socketserver
|
||||
import threading
|
||||
import queue
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime
|
||||
import logging
|
||||
import time
|
||||
import pickle
|
||||
|
||||
from setproctitle import setproctitle
|
||||
|
||||
VAR_DIR = '/var/cache/routerstats/'
|
||||
|
||||
logging.basicConfig(
|
||||
format='%(asctime)s %(funcName)20s %(levelname)-8s %(message)s',
|
||||
level=logging.INFO,
|
||||
@ -107,7 +107,7 @@ def shutdown_filefetcher(output_queue, input_file):
|
||||
'''Cleanly close filehandles, save log position and queue contents'''
|
||||
cur_pos = input_file.tell()
|
||||
input_file.close()
|
||||
with open('position', 'w') as output_file:
|
||||
with open(VAR_DIR + 'position', 'w') as output_file:
|
||||
logging.debug('Saving current position ' + str(cur_pos))
|
||||
output_file.write(str(cur_pos))
|
||||
dump_queue(output_queue)
|
||||
@ -155,6 +155,9 @@ def parse_line(input_line: str) -> dict:
|
||||
#This might happen around first of january
|
||||
logline_time = logline_time.replace(year=logline_time.year - 1)
|
||||
timestamp = int(logline_time.timestamp())
|
||||
#FIXME Make this configurable somehow
|
||||
if zone in ['loc-net', 'router-net']:
|
||||
zone = 'loc-net'
|
||||
retval = (timestamp, zone)
|
||||
logging.debug('Parsed line to ' + str(retval))
|
||||
return retval
|
||||
@ -175,7 +178,7 @@ def dump_queue(queue_to_dump: Queue):
|
||||
if out_list:
|
||||
logging.debug('Saving ' + str(len(out_list)) + ' entries to dump.pickle')
|
||||
to_save = pickle.dumps(out_list)
|
||||
with open('dump.pickle', 'wb') as output_file:
|
||||
with open(VAR_DIR + 'dump.pickle', 'wb') as output_file:
|
||||
bytes_written = output_file.write(to_save)
|
||||
logging.debug('Saved ' + str(len(out_list)) + ' entries, taking ' + str(bytes_written) + ' bytes')
|
||||
|
||||
@ -188,7 +191,7 @@ def signal_handler(signum, frame):
|
||||
def load_pickled_file(output_queue):
|
||||
'''Load queue contents from pickled queue structure'''
|
||||
#Does our dump file exist?
|
||||
loadfile = 'dump.pickle'
|
||||
loadfile = VAR_DIR + 'dump.pickle'
|
||||
if os.path.isfile(loadfile):
|
||||
size = os.stat(loadfile).st_size
|
||||
logging.debug(loadfile + ' exists, loading ' + str(size) + ' bytes.')
|
||||
@ -206,8 +209,8 @@ def load_pickled_file(output_queue):
|
||||
def load_start_pos(logfile):
|
||||
'''Read start position from file, if it exists'''
|
||||
#Do we have any position we want to start from?
|
||||
if os.path.isfile('position'):
|
||||
with open('position', 'r') as input_file:
|
||||
if os.path.isfile(VAR_DIR + 'position'):
|
||||
with open(VAR_DIR + 'position', 'r') as input_file:
|
||||
tmp_start_pos = input_file.readline()
|
||||
try:
|
||||
tmp_start_pos = int(tmp_start_pos)
|
||||
|
||||
Reference in New Issue
Block a user