11import os
22import logging
33
4- from multiprocessing import Process , Event
4+ from multiprocessing import Process
55from signal import signal , SIGINT , SIGTERM
66from time import time
77
@@ -28,7 +28,7 @@ def __init__(self, response_queue, backup_name, host_port, user, password, authd
2828 self .verbose = verbose
2929
3030 self ._command = None
31- self ._complete = Event ()
31+ self .completed = False
3232 self .backup_dir = "%s/%s" % (self .base_dir , self .backup_name )
3333 self .dump_dir = "%s/dump" % self .backup_dir
3434 self .oplog_file = "%s/oplog.bson" % self .dump_dir
@@ -37,9 +37,6 @@ def __init__(self, response_queue, backup_name, host_port, user, password, authd
3737 signal (SIGINT , self .close )
3838 signal (SIGTERM , self .close )
3939
40- def complete (self ):
41- return self ._complete .is_set ()
42-
4340 def close (self , exit_code = None , frame = None ):
4441 if self ._command :
4542 logging .debug ("Killing running subprocess/command: %s" % self ._command .command )
@@ -77,15 +74,16 @@ def run(self):
7774 return None
7875
7976 oplog = OplogInfo (self .oplog_file , self .dump_gzip )
77+ self .completed = True
8078 self .response_queue .put ({
8179 'host' : self .host ,
8280 'port' : self .port ,
8381 'file' : self .oplog_file ,
8482 'count' : oplog .count (),
8583 'last_ts' : oplog .last_ts (),
86- 'first_ts' : oplog .first_ts ()
84+ 'first_ts' : oplog .first_ts (),
85+ 'completed' : self .completed
8786 })
88- self ._complete .set ()
8987
9088 time_diff = time () - self .start_time
9189 logging .info ("Backup for %s/%s:%s completed in %s sec with %i oplog changes captured to: %s" % (
0 commit comments