|
|
@ -58,6 +58,10 @@ class Writer(multiprocessing.Process): |
|
|
|
# IndexError: IP too big |
|
|
|
self.log.exception("Cannot execute: %s", record) |
|
|
|
|
|
|
|
def end(self) -> None: |
|
|
|
self.db.enter_step('end') |
|
|
|
self.db.save() |
|
|
|
|
|
|
|
def run(self) -> None: |
|
|
|
self.open_db() |
|
|
|
if self.autosave_interval > 0: |
|
|
@ -80,9 +84,7 @@ class Writer(multiprocessing.Process): |
|
|
|
next_save = time.time() + self.autosave_interval |
|
|
|
|
|
|
|
self.db.enter_step('block_wait') |
|
|
|
|
|
|
|
self.db.enter_step('end') |
|
|
|
self.db.save() |
|
|
|
self.end() |
|
|
|
|
|
|
|
|
|
|
|
class Parser(): |
|
|
@ -240,6 +242,7 @@ if __name__ == '__main__': |
|
|
|
) |
|
|
|
parser = parser_cls(args.input, writer=writer) |
|
|
|
parser.run() |
|
|
|
writer.end() |
|
|
|
else: |
|
|
|
recs_queue: multiprocessing.Queue = multiprocessing.Queue( |
|
|
|
maxsize=args.queue_size) |
|
|
|