def METHOD_NAME(self):
    is_success = False
    error = '-'
    try:
        recipients_part_one = self.execution.snapshot.get('recipients_part_one', [])
        recipients_part_two = self.execution.snapshot.get('recipients_part_two', [])
        if not recipients_part_one and not recipients_part_two:
            print(
                '\n'
                '\033[32m>>> 该备份任务未分配收件人\033[0m'
                ''
            )
        if recipients_part_one and recipients_part_two:
            files = self.create_excel(section='front')
            self.send_backup_mail(files, recipients_part_one)
            files = self.create_excel(section='back')
            self.send_backup_mail(files, recipients_part_two)
        else:
            recipients = recipients_part_one or recipients_part_two
            files = self.create_excel()
            self.send_backup_mail(files, recipients)
    except Exception as e:
        self.is_frozen = True
        print('任务执行被异常中断')
        print('下面打印发生异常的 Traceback 信息 : ')
        print(e)
        error = str(e)
    else:
        is_success = True
    finally:
        reason = error
        self.step_perform_task_update(is_success, reason)
        self.step_finished(is_success)