{% extends "base.html" %} {% comment %} * Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/ * Contact: beat.support@idiap.ch * * This file is part of the beat.web module of the BEAT platform. * * Commercial License Usage * Licensees holding valid commercial BEAT licenses may use this file in * accordance with the terms contained in a written agreement between you * and Idiap. For further information contact tto@idiap.ch * * Alternatively, this file may be used under the terms of the GNU Affero * Public License version 3 as published by the Free Software and appearing * in the file LICENSE.AGPL included in the packaging of this file. * The BEAT platform is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. * * You should have received a copy of the GNU Affero Public License along * with the BEAT platform. If not, see http://www.gnu.org/licenses/. {% endcomment %} {% load fingerprint %} {% load backend_tags %} {% load humanize %} {% block title %}{{ block.super }} - Scheduler{% endblock %} {% block stylesheets %} {{ block.super }} {% endblock %} {% block content %}
{% if helper_panel %}

Helper Panel

Use this panel to locally launch scheduling activity. This functionality is intended as a test scheduler and worker replacement that can be used to run local experiments or debug. Don't use this in a production system. Every time you launch an activity, the page will reload to trigger this action. Scheduling happens in the context of the Django server running on the background. Worker processes are managed using subprocesses and don't block the web server.

every
s
{% endif %}

Experiments

  • Running {{ experiments.running }}
  • Scheduled {{ experiments.scheduled }}

Jobs

  • Queued {{ jobs.queued }}
  • Running {{ jobs.running }}
  • Completed {{ jobs.completed }}
  • Failed {{ jobs.failed }}
  • Cancelled {{ jobs.cancelled }}

Cache Occupancy (in Mb)

Total disk space: {{ cache_gb }} Gb

{% if experiments.ls %}
{% for obj in experiments.ls %} {% for split in obj.job_splits %} {% endfor %} {% endfor %}
Name Blocks/Jobs Job Splits Assigned Running Completed Failed Cancelled Skipped
{{ obj.fullname }} {{ obj.blocks.count }} {{ obj|count_job_splits }} {{ obj|count_job_splits:"A" }} {{ obj|count_job_splits:"P" }} {{ obj|count_job_splits:"C" }} {{ obj|count_job_splits:"F" }} {{ obj|count_job_splits:"L" }} {{ obj|count_job_splits:"S" }}
{{ split.job.block.name }} ({{ split.get_status_display }}) {{ split.split_index|add:"1" }}/{{ split.job.block.required_slots }} {% if split.worker.name %} at {{ split.worker.name }} (consuming {{ split.job.block.queue.cores_per_slot }} core{{ split.job.block.queue.cores_per_slot|pluralize }}){% endif %} {% if split.start_date %} {{ split.start_date|naturaltime }}{% endif %}
{% endif %}
{% if workers %}
{% for obj in workers %} {% endfor %}
Name Available/Total Cores (Load) Memory (in Gb) (Load) Last Updated Info
{% if obj.active %} {% else %} {% endif %} {{ obj.name }} {{ obj.available_cores }} / {{ obj.cores }} ({{ obj.used_cores }}%) {% widthratio obj.memory 1024 1 %} ({{ obj.used_memory }}%) {{ obj.updated|date:"H:i:s O, jS F Y" }} {{ obj.info }}
{% endif %}
{% if queues %}
{% for obj in queues %} {% endfor %}
Name Memory (in Mb) Total Slots Cores/Slot Max Slots/User Availability Time Limit (minutes) Environments
{{ obj.name }} {{ obj.memory_limit }} {{ obj.number_of_slots }} {{ obj.cores_per_slot }} {{ obj.max_slots_per_user }} {{ obj.availability }} {{ obj.time_limit }} {{ obj.environments.count }}
{% endif %}
{# tab panel #}
{# tab panels #}
{# col #}
{# row #} {% csrf_token %} {% endblock %}