def backup_status(): deferred_job = DeferredJob() latest_backup = BackUp.query.order_by(BackUp.timestamp.desc()).first() notice = u"备份时间:%s<br>" % str(latest_backup.timestamp) # 查询数据库保存的备份状态 if latest_backup.is_done: # html_mail(config.BACKUP_TO_MAIL, 'whlove-数据库备份', u'备份已完成,邮件已发送!') return u'备份已完成,邮件已发送!' # 向服务器查询备份状态 status = deferred_job.status(latest_backup.job_id) notice += u"文件名:%s, ID:%s, 状态:%s<br>" % (latest_backup.file_name, str(latest_backup.job_id), status) # 修改备份状态, 完成备份发送邮件 if status == 'done': latest_backup.is_done = True db.session.add(latest_backup) db.session.commit() notice = u'备份已完成!<br>%s' % notice html_mail(config.BACKUP_TO_MAIL, 'whwb-数据库备份', notice, config.MAIL_SMTP) return notice else: return u'备份未完成!<br>%s' % notice