history.py 781 B

1234567891011121314151617181920
  1. from flask import Blueprint
  2. from libs.tools import json_response
  3. from apps.schedule.models import JobHistory
  4. import html
  5. from libs.decorators import require_permission
  6. blueprint = Blueprint(__name__, __name__)
  7. @blueprint.route('/<int:job_id>', methods=['GET'])
  8. @require_permission('job_task_log | job_task_view')
  9. def get(job_id):
  10. result = []
  11. tmp = JobHistory.query.filter_by(job_id=job_id).order_by(JobHistory.created.desc()).limit(20).all()
  12. for item in [x.to_json() for x in tmp]:
  13. item['stdout'] = html.escape(item['stdout']).replace('\n', '<br/>') if item['stdout'] else '无内容'
  14. item['stderr'] = html.escape(item['stderr']).replace('\n', '<br/>') if item['stderr'] else '无内容'
  15. result.append(item)
  16. return json_response(result)