Added more logging during draft resurrection. Added a guard agains draft status changes while the draft expiration loop is running.
- Legacy-Id: 14488
This commit is contained in:
parent
11ca8dcaf2
commit
edcfcd11f1
|
@ -17,13 +17,18 @@ syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
|
|||
import django
|
||||
django.setup()
|
||||
|
||||
from ietf.doc.expire import *
|
||||
from ietf.doc.expire import ( in_draft_expire_freeze, get_expired_drafts, expirable_draft,
|
||||
send_expire_notice_for_draft, expire_draft, clean_up_draft_files )
|
||||
|
||||
if not in_draft_expire_freeze():
|
||||
syslog.syslog("Expiring drafts ...")
|
||||
for doc in get_expired_drafts():
|
||||
send_expire_notice_for_draft(doc)
|
||||
expire_draft(doc)
|
||||
syslog.syslog("Expired draft %s-%s" % (doc.name, doc.rev))
|
||||
# verify expirability -- it might have changed after get_expired_drafts() was run
|
||||
# (this whole loop took about 2 minutes on 04 Jan 2018)
|
||||
if expirable_draft(doc) and doc.expires < datetime.date.today() + datetime.timedelta(1):
|
||||
send_expire_notice_for_draft(doc)
|
||||
expire_draft(doc)
|
||||
syslog.syslog(" Expired draft %s-%s" % (doc.name, doc.rev))
|
||||
|
||||
syslog.syslog("Cleaning up draft files")
|
||||
clean_up_draft_files()
|
||||
|
|
|
@ -27,7 +27,7 @@ from ietf.secr.utils.document import get_rfc_num, get_start_date
|
|||
from ietf.submit.models import Submission, Preapproval, DraftSubmissionStateName, SubmissionEvent
|
||||
from ietf.submit.mail import announce_new_version, announce_to_lists, announce_to_authors
|
||||
from ietf.utils.draft import Draft
|
||||
|
||||
from ietf.utils.log import log
|
||||
|
||||
# -------------------------------------------------
|
||||
# Helper Functions
|
||||
|
@ -241,9 +241,14 @@ def do_resurrect(draft, request):
|
|||
sorted_files = sorted(files)
|
||||
latest,ext = os.path.splitext(sorted_files[-1])
|
||||
files = glob.glob(os.path.join(settings.INTERNET_DRAFT_ARCHIVE_DIR,latest) + '.*')
|
||||
log("Resurrecting %s. Moving files:" % draft.name)
|
||||
for file in files:
|
||||
shutil.move(file,settings.INTERNET_DRAFT_PATH)
|
||||
|
||||
try:
|
||||
shutil.move(file, settings.INTERNET_DRAFT_PATH)
|
||||
log(" Moved file %s to %s" % (file, settings.INTERNET_DRAFT_PATH))
|
||||
except shutil.Error as e:
|
||||
log(" Exception %s when attempting to move %s" % (e, file))
|
||||
|
||||
# Update draft record
|
||||
draft.set_state(State.objects.get(type="draft", slug="active"))
|
||||
|
||||
|
|
Loading…
Reference in a new issue