workers.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. {% extends "base.html" %}
  2. {% block navbar %}
  3. {% module Template("navbar.html", active_tab="workers", absolute_url=absolute_url) %}
  4. {% end %}
  5. {% block container %}
  6. <div class="container-fluid">
  7. <div class="page-header">
  8. <h1>Workers</h1>
  9. </div>
  10. <div class="btn-toolbar">
  11. <div class="btn-group">
  12. <button class="btn" onclick="flower.toggle_selected_workers(event);"><input id="select-workers-toggler" type="checkbox" style="margin: 0;"></button>
  13. <button class="btn dropdown-toggle" data-toggle="dropdown"><span
  14. class="caret"></span></button>
  15. <ul class="dropdown-menu">
  16. <li><a href="#" onclick="flower.select_all_workers(event);">All</a></li>
  17. <li><a href="#" onclick="flower.select_none_workers(event);">None</a></li>
  18. </ul>
  19. </div>
  20. <div class="btn-group">
  21. <button class="btn" onclick="flower.shutdown_selected(event);">Shut Down</button>
  22. <button class="btn dropdown-toggle" data-toggle="dropdown"><span
  23. class="caret"></span></button>
  24. <ul class="dropdown-menu">
  25. <li><a href="#" onclick="flower.shutdown_selected(event);">Shut Down</a></li>
  26. <li><a href="#" onclick="flower.restart_selected(event);">Restart Pool</a></li>
  27. </ul>
  28. </div>
  29. </div>
  30. <table id="workers-table" class="table table-bordered table-striped">
  31. <thead>
  32. <tr>
  33. <th style="width: 15px; min-width: 15px;"></th>
  34. <th>Name</th>
  35. <th>Status</th>
  36. <th>Concurrency</th>
  37. <th>Completed Tasks</th>
  38. <th>Running Tasks</th>
  39. <th>Queues</th>
  40. </tr>
  41. </thead>
  42. <tbody>
  43. {% for name,info in workers.items() %}
  44. <tr id="{{ url_escape(name) }}">
  45. <td class="is_selected"><input type="checkbox"></td>
  46. <td><a href="{{ absolute_url('worker/' + name) }}">{{ name }}</a></td>
  47. <td>
  48. {% if info['status'] %}
  49. <span class="label label-success">Online</span>
  50. {% else %}
  51. <span class="label label-important">Offline</span>
  52. {% end %}
  53. </td>
  54. <td>{{ humanize(info['concurrency']) }}</td>
  55. <td>{{ info['completed_tasks'] }}</td>
  56. <td>{{ info['running_tasks'] }}</td>
  57. <td>{{ humanize(info['queues']) }}</td>
  58. </tr>
  59. {% end %}
  60. </tbody>
  61. </table>
  62. <p>
  63. <strong>Broker:</strong> {{ broker }}
  64. </p>
  65. </div>
  66. <div class="hidden">
  67. <table>
  68. <tr id="workers-table-row">
  69. <td class="is_selected"><input type="checkbox"></td>
  70. <td><a href=""></a></td>
  71. <td><span class="label label-success">Online</span></td>
  72. <td></td><td></td><td></td><td></td>
  73. </tr>
  74. </table>
  75. </div>
  76. {% end %}