Как поместить логи в функции, которые имеют @background decorator? - PullRequest
0 голосов
/ 08 февраля 2019

На самом деле я работаю над проектом django, который принимает входные данные в виде файла doc (с абзацами), анализирует его в html-файл, делая каждый абзац в формате карты.функция, которая украшает весь процесс, имеет декоратор @background (schedule = 0), поэтому я не могу ничего напечатать внутри функции.Я хочу напечатать проанализированный HTML-файл в файле журнала, чтобы проверить, правильно ли выполняется синтаксический анализ и восстановление.Есть ли способ сделать это ??

@background(schedule=0)
def background_html_from_zip_with_beautification(file_type, model_id, mail_ids, path_unzipped_dir_root, folder_name, html_file, model_name):
from exam.views import update_feed_for_material
paper = get_model_object(model_name, model_id)
if paper.subject.name in ENGLISH_LANGUAGE_SUBJECTS:
    language = 'ENGLISH'
elif paper.subject.name in HINDI_LANGUAGE_SUBJECTS:
    language = 'HINDI'
else:
    language = str(paper.language)
try:
    html_file_path = path_unzipped_dir_root + '/' + folder_name + '/' + html_file
    current_directory = path_unzipped_dir_root + '/' + folder_name + '/'
    with open(html_file_path, "r", encoding="ISO-8859-1") as wordfile:
        modified_html_file_path, message, flag = get_modified_html_file(wordfile, current_directory, model_id, language, model_name)
        if flag and modified_html_file_path:
            with open(modified_html_file_path, 'r') as html_file:
                for line in html_file:
                #log statement comes here, i wanted to print line variable in a log file.   


            with open(modified_html_file_path, "r") as modified_html_file:
                s3path, encrypted_s3path, html_s3_url = get_uploaded_files(paper, model_name,
                                                                           folder_name,modified_html_file, False)
            store_s3_urls_of_paper_in_db(s3path, encrypted_s3path, paper, file_type, html_s3_url)
            update_feed_for_material(paper, model_name, paper.material_code, paper.is_published)
            subject = 'Env: ' + str(ENV) + ' document uploaded for ' + model_name + ' : ' + str(paper.id)
            body = 'Questions uploaded successfully.'
        else:
            subject = 'Env: ' + str(ENV) + 'Error in document uploaded for ' + model_name + ' : ' + str(paper.id)
            body = message
            print('==========-----------' + str(message))

except:
    print('==========-----------' + str(traceback.format_exc()))
    subject = 'Env: ' + str(ENV) + ' Error in upload document for '+ model_name + ' : ' + str(paper.id)
    body = traceback.format_exc()
send_application_mails(subject, body, mail_ids)
...