task.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. {% extends "base.html" %}
  2. {% block navbar %}
  3. {% module Template("navbar.html", active_tab="tasks", absolute_url=absolute_url) %}
  4. {% end %}
  5. {% block container %}
  6. <div id='task-page' class="container-fluid">
  7. <div class="row-fluid">
  8. <div class="span12">
  9. <div class="page-header">
  10. <p id="taskid" class="hidden">{{ task.uuid }}</p>
  11. <h2>{{ getattr(task, 'name', None) }}
  12. <small>{{ task.uuid }}</small>
  13. {% if task.state == "STARTED" %}
  14. <button style="float: right" class="btn btn-danger" onclick="flower.on_task_terminate(event)">Terminate</button>
  15. {% elif task.state == "RECEIVED" or task.state == "RETRY" %}
  16. <button style="float: right" class="btn btn-danger" onclick="flower.on_task_revoke(event)">Revoke</button>
  17. {% end %}
  18. </h2>
  19. </div>
  20. <div class="row-fluid">
  21. <div class="span6">
  22. <table class="table table-bordered table-striped">
  23. <caption>Basic task options</caption>
  24. <tbody>
  25. <tr>
  26. <td>Name</td>
  27. <td>{{ getattr(task, 'name', None) }}</td>
  28. </tr>
  29. <tr>
  30. <td>UUID</td>
  31. <td>{{ task.uuid }}</td>
  32. </tr>
  33. <tr>
  34. <td>State</td>
  35. <td>
  36. {% if task.state == "SUCCESS" %}
  37. <span class="label label-success">{{ task.state }}</span>
  38. {% elif task.state == "FAILURE" %}
  39. <span class="label label-important">{{ task.state }}</span>
  40. {% else %}
  41. <span class="label label-default">{{ task.state }}</span>
  42. {% end %}
  43. </td>
  44. </tr>
  45. <tr>
  46. <td>args</td>
  47. <td>{{ task.args }}</td>
  48. </tr>
  49. <tr>
  50. <td>kwargs</td>
  51. <td>{{ task.kwargs }}</td>
  52. </tr>
  53. <tr>
  54. <td>Result</td>
  55. <td>{{ getattr(task, 'result', None) }}</td>
  56. </tr>
  57. </tbody>
  58. </table>
  59. </div>
  60. <div class="span6">
  61. <table class="table table-bordered table-striped">
  62. <caption>Advanced task options</caption>
  63. <tbody>
  64. {% for name in task._fields %}
  65. {% if name not in ['name', 'uuid', 'state', 'args', 'kwargs', 'result'] and getattr(task, name, None) is not None %}
  66. <tr>
  67. <td>{{ humanize(name) }}</td>
  68. <td>
  69. {% if name in ['sent', 'received', 'started', 'succeeded', 'retried', 'timestamp'] %}
  70. {{ humanize(getattr(task, name, None), type='time') }}
  71. {% elif name == 'worker' %}
  72. <a
  73. href="{{ absolute_url('/worker/' + task.worker.hostname) }}">{{ task.worker.hostname }}</a>
  74. {% elif name == 'traceback' %}
  75. <pre>{{ getattr(task, name, None) }}</pre>
  76. {% else %}
  77. {{ getattr(task, name, None) }}
  78. {% end %}
  79. </td>
  80. </tr>
  81. {% end %}
  82. {% end %}
  83. </tbody>
  84. </table>
  85. <div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. {% end %}