mirror of
https://github.com/Novartis/cellxgene-gateway.git
synced 2026-10-09 07:18:11 +08:00
rebased "Introduction of ItemSource interface" patch
This commit is contained in:
@@ -10,59 +10,68 @@
|
||||
-->
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Cellxgene Gateway - FILE CRAWLER</title>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||||
<link rel="icon" type="image/png" href="{{ url_for('static', filename='nibr.ico') }}">
|
||||
{% for script in extra_scripts %}
|
||||
<script src="{{ script }}"></script>
|
||||
{% endfor %}
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
||||
{% for script in extra_scripts %}
|
||||
<script src="{{ script }}"></script>
|
||||
{% endfor %}
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
|
||||
integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="navbar navbar-expand navbar-dark flex-column flex-md-row bd-navbar">
|
||||
<h3>Cellxgene Gateway - Cache Status</h3>
|
||||
<h3>Cellxgene Gateway - Cache Status</h3>
|
||||
</header>
|
||||
<br>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>PID</th>
|
||||
<th>dataset</th>
|
||||
<th>annotation_file</th>
|
||||
<th>port</th>
|
||||
<th>launchtime</th>
|
||||
<th>last access</th>
|
||||
<th>status</th>
|
||||
<th>message</th>
|
||||
<th>http_status</th>
|
||||
<th>actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entry in entry_list %}
|
||||
<tr>
|
||||
<td>{{ entry.pid }}</td>
|
||||
<td><a href="{{ url_for('do_view', path=entry.key.pathpart) }}">{{ entry.key.dataset }}</a></td>
|
||||
<td>{{ entry.key.annotation_file }}</td>
|
||||
<td>{{ entry.port }}</td>
|
||||
<td class="timestamp">{{ entry.launchtime }}</td>
|
||||
<td class="timestamp">{{ entry.timestamp }}</td>
|
||||
<td>{{ entry.status.name }}</td>
|
||||
<td>{{ entry.message }}</td>
|
||||
<td>{{ entry.http_status }}</td>
|
||||
<td>
|
||||
{% if entry.status.name == 'loaded' %}
|
||||
<a href="{{ url_for('do_terminate', path=entry.key.pathpart) }}"> terminate </a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<tr>
|
||||
<th>PID</th>
|
||||
<th>dataset</th>
|
||||
<th>annotation_file</th>
|
||||
<th>source</th>
|
||||
<th>port</th>
|
||||
<th>launchtime</th>
|
||||
<th>last access</th>
|
||||
<th>status</th>
|
||||
<th>message</th>
|
||||
<th>http_status</th>
|
||||
<th>actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for entry in entry_list %}
|
||||
<tr>
|
||||
<td>{{ entry.pid }}</td>
|
||||
<td><a
|
||||
href="{{ url_for('do_view', path=entry.key.descriptor, source_name=entry.key.source_name) }}">{{ entry.key.h5ad_item.descriptor }}</a>
|
||||
</td>
|
||||
<td>{{ entry.key.annotation_descriptor }}</td>
|
||||
<td>{{ entry.source_name }}</td>
|
||||
<td>{{ entry.port }}</td>
|
||||
<td class="timestamp">{{ entry.launchtime }}</td>
|
||||
<td class="timestamp">{{ entry.timestamp }}</td>
|
||||
<td>{{ entry.status.name }}</td>
|
||||
<td>{{ entry.message }}</td>
|
||||
<td>{{ entry.http_status }}</td>
|
||||
<td>
|
||||
{% if entry.status.name == 'loaded' %}
|
||||
<a
|
||||
href="{{ url_for('do_terminate', path=entry.key.descriptor, source_name=entry.key.source_name) }}">
|
||||
terminate </a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
$(() => {
|
||||
$(".timestamp").each(function(){
|
||||
$(".timestamp").each(function () {
|
||||
const el = $(this);
|
||||
const ts = el.text();
|
||||
const dt = new Date(parseInt(ts * 1000));
|
||||
@@ -71,4 +80,5 @@
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user