forked from extern/django-helpdesk
fix<process_email>: free the log file handler after it's not used anymore
This commit is contained in:
parent
354debb618
commit
1643a45457
@ -74,18 +74,29 @@ def process_email(quiet=False):
|
|||||||
if quiet:
|
if quiet:
|
||||||
logger.propagate = False # do not propagate to root logger that would log to console
|
logger.propagate = False # do not propagate to root logger that would log to console
|
||||||
logdir = q.logging_dir or '/var/log/helpdesk/'
|
logdir = q.logging_dir or '/var/log/helpdesk/'
|
||||||
handler = logging.FileHandler(join(logdir, q.slug + '_get_email.log'))
|
|
||||||
logger.addHandler(handler)
|
|
||||||
|
|
||||||
if not q.email_box_last_check:
|
try:
|
||||||
q.email_box_last_check = timezone.now() - timedelta(minutes=30)
|
handler = logging.FileHandler(join(logdir, q.slug + '_get_email.log'))
|
||||||
|
logger.addHandler(handler)
|
||||||
|
|
||||||
queue_time_delta = timedelta(minutes=q.email_box_interval or 0)
|
if not q.email_box_last_check:
|
||||||
|
q.email_box_last_check = timezone.now() - timedelta(minutes=30)
|
||||||
|
|
||||||
if (q.email_box_last_check + queue_time_delta) < timezone.now():
|
queue_time_delta = timedelta(minutes=q.email_box_interval or 0)
|
||||||
process_queue(q, logger=logger)
|
|
||||||
q.email_box_last_check = timezone.now()
|
if (q.email_box_last_check + queue_time_delta) < timezone.now():
|
||||||
q.save()
|
process_queue(q, logger=logger)
|
||||||
|
q.email_box_last_check = timezone.now()
|
||||||
|
q.save()
|
||||||
|
finally:
|
||||||
|
try:
|
||||||
|
handler.close()
|
||||||
|
except Exception as e:
|
||||||
|
logging.exception(e)
|
||||||
|
try:
|
||||||
|
logger.removeHandler(handler)
|
||||||
|
except Exception as e:
|
||||||
|
logging.exception(e)
|
||||||
|
|
||||||
|
|
||||||
def pop3_sync(q, logger, server):
|
def pop3_sync(q, logger, server):
|
||||||
|
Loading…
Reference in New Issue
Block a user