add cleaning results in server and client as default to keep consumption memory low

This commit is contained in:
cimatosa 2016-09-19 09:54:36 +02:00
parent 1683fd8230
commit a7f3a240d3

View file

@ -564,6 +564,8 @@ class JobManager_Client(object):
JobManager_Client._handle_unexpected_queue_error(e, verbose, identifier) JobManager_Client._handle_unexpected_queue_error(e, verbose, identifier)
break break
del res
cnt += 1 cnt += 1
reset_pbc() reset_pbc()
@ -764,7 +766,8 @@ class JobManager_Server(object):
verbose=1, verbose=1,
msg_interval=1, msg_interval=1,
fname_dump='auto', fname_dump='auto',
speed_calc_cycles=50): speed_calc_cycles=50,
keep_new_result_in_memory = False):
""" """
authkey [string] - authentication key used by the SyncManager. authkey [string] - authentication key used by the SyncManager.
Server and Client must have the same authkey. Server and Client must have the same authkey.
@ -817,6 +820,7 @@ class JobManager_Server(object):
self.fname_dump = fname_dump self.fname_dump = fname_dump
self.msg_interval = msg_interval self.msg_interval = msg_interval
self.speed_calc_cycles = speed_calc_cycles self.speed_calc_cycles = speed_calc_cycles
self.keep_new_result_in_memory = keep_new_result_in_memory
# to do some redundant checking, might be removed # to do some redundant checking, might be removed
# the args_dict holds all arguments to be processed # the args_dict holds all arguments to be processed
@ -1201,6 +1205,9 @@ class JobManager_Server(object):
del self.args_dict[bf.dump(arg)] del self.args_dict[bf.dump(arg)]
self.numresults += 1 self.numresults += 1
self.process_new_result(arg, result) self.process_new_result(arg, result)
if not self.keep_new_result_in_memory:
del arg
del result
if self.verbose > 1: if self.verbose > 1:
print("{}: wait {}s before trigger clean up".format(self._identifier, self.__wait_before_stop)) print("{}: wait {}s before trigger clean up".format(self._identifier, self.__wait_before_stop))