git commit, converted over to base.html pulling Status*, rather than every render_template calling it. Tightened up naming for job manager, fixed a few bugs in there with items like div by zero, created the active jobs link/badge in navbar, have it invoked each time by base.html template and it gets active jobs from DB, pa_job_manager now initiliases from an empty DB and can work out where it is at, no loop/thread/or actual job code yet. jobs.py has basics of a NewJob(), so next step is to force that job to be executed in pa_job_manager, but its tea time
This commit is contained in:
@@ -77,7 +77,17 @@
|
||||
<a class="dropdown-item" href="{{url_for('forcescan')}}">Force Scan (delete data & rebuild)</a>
|
||||
</div class="dropdow-menu">
|
||||
</div class="nav-item dropdown">
|
||||
</div clas="navbar-nav">
|
||||
<div class="nav-item ml-5">
|
||||
<a href="{{url_for('jobs')}}"}}<span class="navbar-text">Active Jobs:
|
||||
{% if GetNumActiveJobs() != None %}
|
||||
<span class="badge badge-danger text-white"}}>4</span>
|
||||
{% else %}
|
||||
<span class="badge">0</span>
|
||||
{% endif %}
|
||||
</a>
|
||||
</div class="nav-item">
|
||||
</div class="navbar-nav">
|
||||
|
||||
<form class="form-inline my-2 my-lg-0" method="POST" action="/search">
|
||||
<input class="form-control mr-sm-2" type="search" placeholder="by file, date (YYYMMDD) or tag" aria-label="Search" name="term">
|
||||
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
|
||||
@@ -85,9 +95,9 @@
|
||||
</div class="collapse navbar-collapse">
|
||||
</nav>
|
||||
|
||||
{% if message is defined and message|length %}
|
||||
<div class="row alert alert-{{alert}}">
|
||||
{{message|safe}}
|
||||
{% if GetMessage()|length %}
|
||||
<div class="row alert alert-{{GetAlert()}}">
|
||||
{{ GetMessage()|safe}}
|
||||
{{ ClearStatus() }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
@@ -3,9 +3,13 @@
|
||||
{% block main_content %}
|
||||
<div class="container">
|
||||
<h3>{{page_title}}</h3>
|
||||
<div class="row col-lg-12">
|
||||
<label class="form-control-plaintext col-lg-2">Name:</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{job.name}}</label>
|
||||
</div>
|
||||
<div class="row col-lg-12">
|
||||
<label class="form-control-plaintext col-lg-2">Start Time:</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{imp.start_time|vicdate}}</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{job.start_time|vicdate}}</label>
|
||||
</div>
|
||||
<div class="row col-lg-12">
|
||||
<label class="form-control-plaintext col-lg-2">Duration:</label>
|
||||
@@ -13,36 +17,46 @@
|
||||
</div>
|
||||
<div class="row col-lg-12">
|
||||
<label class="form-control-plaintext col-lg-2">Last Update:</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{imp.last_update|vicdate}}</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{job.last_update|vicdate}}</label>
|
||||
</div>
|
||||
<div class="row col-lg-12">
|
||||
<label class="form-control-plaintext col-lg-2">Current state:</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{imp.state}}</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{job.state}}</label>
|
||||
</div>
|
||||
{% if job.wait_for != None %}
|
||||
<div class="row col-lg-12">
|
||||
<label class="form-control-plaintext col-lg-2">Waiting on Job:</label>
|
||||
<label class="form-control-plaintext col-lg-10"><a href="{{url_for('joblog', id=job.wait_for)}}">Job (id={{job.wait_for}})</a></label>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row col-lg-12">
|
||||
<label class="form-control-plaintext col-lg-2">Current File:</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{imp.current_file}}</label>
|
||||
<label class="form-control-plaintext col-lg-10">{{job.current_file}}</label>
|
||||
</div>
|
||||
<div class="row col-lg-12">
|
||||
{% set prog=(imp.current_pass/imp.num_passes*100)|round|int %}
|
||||
{% set prog=(job.current_pass/job.num_passes*100)|round|int %}
|
||||
<label class="form-control-plaintext col-lg-2">Passes:</label>
|
||||
<div class="col-lg-10 px-0">
|
||||
<div class="progress" style="height:80%">
|
||||
<div class="progress-bar" role="progressbar" style="width: {{prog}}%;" aria-valuenow="{{prog}}" aria-valuemin="0" aria-valuemax="100">{{imp.current_pass}} of {{imp.num_passes}} - {{prog}}%</div>
|
||||
<div class="progress-bar" role="progressbar" style="width: {{prog}}%;" aria-valuenow="{{prog}}" aria-valuemin="0" aria-valuemax="100">{{job.current_pass}} of {{job.num_passes}} - {{prog}}%</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row col-lg-12">
|
||||
{% set prog=(imp.current_file_num/imp.num_files*100)|round|int %}
|
||||
<label class="form-control-plaintext col-lg-2">Files in pass:</label>
|
||||
<div class="col-lg-10 px-0">
|
||||
{% if job.num_files > 0 %}
|
||||
{% set prog=(job.current_file_num/job.num_files*100)|round|int %}
|
||||
<div class="progress" style="height:80%">
|
||||
<div class="progress-bar bg-info" role="progressbar" style="width: {{prog}}%;" aria-valuenow="{{prog}}" aria-valuemin="0" aria-valuemax="100">{{imp.current_file_num}} of {{imp.num_files}} - {{prog}}%</div>
|
||||
<div class="progress-bar bg-info" role="progressbar" style="width: {{prog}}%;" aria-valuenow="{{prog}}" aria-valuemin="0" aria-valuemax="100">{{job.current_file_num}} of {{job.num_files}} - {{prog}}%</div>
|
||||
</div>
|
||||
{% else %}
|
||||
N/A
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row col-lg-12">
|
||||
<table id="import_tbl" class="table table-striped table-sm" data-toolbar="#toolbar" data-search="true">
|
||||
<table id="jobort_tbl" class="table table-striped table-sm" data-toolbar="#toolbar" data-search="true">
|
||||
<thead><tr class="thead-light"><th>When</th><th>Details</th></tr></thead>
|
||||
<tbody>
|
||||
{% for log in logs %}
|
||||
|
||||
@@ -1,22 +1,48 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block main_content %}
|
||||
|
||||
<script>
|
||||
var active_rows=Array()
|
||||
var completed_rows=Array()
|
||||
|
||||
{% for job in jobs %}
|
||||
row=`
|
||||
<tr><td>
|
||||
<a href="{{url_for('joblog', id=job.id )}}">{{job.name}}</td><td>{{job.start_time}}</td>
|
||||
<td>
|
||||
`
|
||||
{% if job.pa_job_state != "Completed" %}
|
||||
row +=`
|
||||
<div class="progress">
|
||||
{% set prog=(job.current_pass/job.num_passes*100)|round|int %}
|
||||
<div class="progress-bar" role="progressbar" style="width: {{prog}}%;" aria-valuenow="{{prog}}" aria-valuemin="0" aria-valuemax="100">{{job.current_pass}} of {{job.num_passes}}</div>
|
||||
</div>
|
||||
</td></tr>
|
||||
`
|
||||
active_rows.push(row)
|
||||
{% else %}
|
||||
row +=`
|
||||
{{job.last_update}}</td></td></tr>
|
||||
`
|
||||
completed_rows.push(row)
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</script>
|
||||
|
||||
<h3>{{page_title}}</h3>
|
||||
<table id="import_tbl" class="table table-striped table-sm" data-toolbar="#toolbar" data-search="true">
|
||||
<table id="job_tbl" class="table table-striped table-sm" data-toolbar="#toolbar" data-search="true">
|
||||
<thead>
|
||||
<tr class="thead-light"><th>Import Id</th><th>Import Started</th><th>Passes</th></tr>
|
||||
<tr class="thead-light"><th>Active Jobs</th><th>Job Started</th><th>Passes</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for imp in imports %}
|
||||
<tr><td><a href="{{url_for('importlog', id=imp.id )}}">{{imp.id}}</td><td>{{imp.start_time}}</td>
|
||||
<td>
|
||||
<div class="progress">
|
||||
{% set prog=(imp.current_pass/imp.num_passes*100)|round|int %}
|
||||
<div class="progress-bar" role="progressbar" style="width: {{prog}}%;" aria-valuenow="{{prog}}" aria-valuemin="0" aria-valuemax="100">{{imp.current_pass}} of {{imp.num_passes}}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
<script>
|
||||
for(el in active_rows)
|
||||
document.write(active_rows[el])
|
||||
document.write( '<tr class="thead-light"><th>Completed Jobs</th><th>Job Started</th><th>Job Completed</th></tr>' )
|
||||
for(el in completed_rows)
|
||||
document.write(completed_rows[el])
|
||||
</script>
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock main_content %}
|
||||
|
||||
Reference in New Issue
Block a user