You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

queue.tmpl 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. {{template "base/head" .}}
  2. <div role="main" aria-label="{{.Title}}" class="page-content admin monitor">
  3. {{template "admin/navbar" .}}
  4. <div class="ui container">
  5. {{template "base/alert" .}}
  6. <h4 class="ui top attached header">
  7. {{.locale.Tr "admin.monitor.queue" .Queue.Name}}
  8. </h4>
  9. <div class="ui attached table segment">
  10. <table class="ui very basic striped table">
  11. <thead>
  12. <tr>
  13. <th>{{.locale.Tr "admin.monitor.queue.name"}}</th>
  14. <th>{{.locale.Tr "admin.monitor.queue.type"}}</th>
  15. <th>{{.locale.Tr "admin.monitor.queue.exemplar"}}</th>
  16. <th>{{.locale.Tr "admin.monitor.queue.numberworkers"}}</th>
  17. <th>{{.locale.Tr "admin.monitor.queue.maxnumberworkers"}}</th>
  18. <th>{{.locale.Tr "admin.monitor.queue.numberinqueue"}}</th>
  19. </tr>
  20. </thead>
  21. <tbody>
  22. <tr>
  23. <td>{{.Queue.Name}}</td>
  24. <td>{{.Queue.Type}}</td>
  25. <td>{{.Queue.ExemplarType}}</td>
  26. <td>{{$sum := .Queue.NumberOfWorkers}}{{if lt $sum 0}}-{{else}}{{$sum}}{{end}}</td>
  27. <td>{{if lt $sum 0}}-{{else}}{{.Queue.MaxNumberOfWorkers}}{{end}}</td>
  28. <td>{{$sum := .Queue.NumberInQueue}}{{if lt $sum 0}}-{{else}}{{$sum}}{{end}}</td>
  29. </tr>
  30. </tbody>
  31. </table>
  32. </div>
  33. {{if lt $sum 0}}
  34. <h4 class="ui top attached header">
  35. {{.locale.Tr "admin.monitor.queue.nopool.title"}}
  36. </h4>
  37. <div class="ui attached segment">
  38. {{if eq .Queue.Type "wrapped"}}
  39. <p>{{.locale.Tr "admin.monitor.queue.wrapped.desc"}}</p>
  40. {{else if eq .Queue.Type "persistable-channel"}}
  41. <p>{{.locale.Tr "admin.monitor.queue.persistable-channel.desc"}}</p>
  42. {{else}}
  43. <p>{{.locale.Tr "admin.monitor.queue.nopool.desc"}}</p>
  44. {{end}}
  45. </div>
  46. {{else}}
  47. <h4 class="ui top attached header">
  48. {{.locale.Tr "admin.monitor.queue.settings.title"}}
  49. </h4>
  50. <div class="ui attached segment">
  51. <p>{{.locale.Tr "admin.monitor.queue.settings.desc"}}</p>
  52. <form method="POST" action="{{.Link}}/set">
  53. {{$.CsrfTokenHtml}}
  54. <div class="ui form">
  55. <div class="inline field">
  56. <label for="max-number">{{.locale.Tr "admin.monitor.queue.settings.maxnumberworkers"}}</label>
  57. <input name="max-number" type="text" placeholder="{{.locale.Tr "admin.monitor.queue.settings.maxnumberworkers.placeholder" .Queue.MaxNumberOfWorkers}}">
  58. </div>
  59. <div class="inline field">
  60. <label for="timeout">{{.locale.Tr "admin.monitor.queue.settings.timeout"}}</label>
  61. <input name="timeout" type="text" placeholder="{{.locale.Tr "admin.monitor.queue.settings.timeout.placeholder" .Queue.BoostTimeout}}">
  62. </div>
  63. <div class="inline field">
  64. <label for="number">{{.locale.Tr "admin.monitor.queue.settings.numberworkers"}}</label>
  65. <input name="number" type="text" placeholder="{{.locale.Tr "admin.monitor.queue.settings.numberworkers.placeholder" .Queue.BoostWorkers}}">
  66. </div>
  67. <div class="inline field">
  68. <label>{{.locale.Tr "admin.monitor.queue.settings.blocktimeout"}}</label>
  69. <span>{{.locale.Tr "admin.monitor.queue.settings.blocktimeout.value" .Queue.BlockTimeout}}</span>
  70. </div>
  71. <button class="ui submit button">{{.locale.Tr "admin.monitor.queue.settings.submit"}}</button>
  72. </div>
  73. </form>
  74. </div>
  75. <h4 class="ui top attached header">
  76. {{.locale.Tr "admin.monitor.queue.pool.addworkers.title"}}
  77. </h4>
  78. <div class="ui attached segment">
  79. <p>{{.locale.Tr "admin.monitor.queue.pool.addworkers.desc"}}</p>
  80. <form method="POST" action="{{.Link}}/add">
  81. {{$.CsrfTokenHtml}}
  82. <div class="ui form">
  83. <div class="fields">
  84. <div class="field">
  85. <label>{{.locale.Tr "admin.monitor.queue.numberworkers"}}</label>
  86. <input name="number" type="text" placeholder="{{.locale.Tr "admin.monitor.queue.pool.addworkers.numberworkers.placeholder"}}">
  87. </div>
  88. <div class="field">
  89. <label>{{.locale.Tr "admin.monitor.queue.pool.timeout"}}</label>
  90. <input name="timeout" type="text" placeholder="{{.locale.Tr "admin.monitor.queue.pool.addworkers.timeout.placeholder"}}">
  91. </div>
  92. </div>
  93. <button class="ui submit button">{{.locale.Tr "admin.monitor.queue.pool.addworkers.submit"}}</button>
  94. </div>
  95. </form>
  96. </div>
  97. {{if .Queue.Pausable}}
  98. {{if .Queue.IsPaused}}
  99. <h4 class="ui top attached header">
  100. {{.locale.Tr "admin.monitor.queue.pool.resume.title"}}
  101. </h4>
  102. <div class="ui attached segment">
  103. <p>{{.locale.Tr "admin.monitor.queue.pool.resume.desc"}}</p>
  104. <form method="POST" action="{{.Link}}/resume">
  105. {{$.CsrfTokenHtml}}
  106. <div class="ui form">
  107. <button class="ui submit button">{{.locale.Tr "admin.monitor.queue.pool.resume.submit"}}</button>
  108. </div>
  109. </form>
  110. </div>
  111. {{else}}
  112. <h4 class="ui top attached header">
  113. {{.locale.Tr "admin.monitor.queue.pool.pause.title"}}
  114. </h4>
  115. <div class="ui attached segment">
  116. <p>{{.locale.Tr "admin.monitor.queue.pool.pause.desc"}}</p>
  117. <form method="POST" action="{{.Link}}/pause">
  118. {{$.CsrfTokenHtml}}
  119. <div class="ui form">
  120. <button class="ui submit button">{{.locale.Tr "admin.monitor.queue.pool.pause.submit"}}</button>
  121. </div>
  122. </form>
  123. </div>
  124. {{end}}
  125. {{end}}
  126. <h4 class="ui top attached header">
  127. {{.locale.Tr "admin.monitor.queue.pool.flush.title"}}
  128. </h4>
  129. <div class="ui attached segment">
  130. <p>{{.locale.Tr "admin.monitor.queue.pool.flush.desc"}}</p>
  131. <form method="POST" action="{{.Link}}/flush">
  132. {{$.CsrfTokenHtml}}
  133. <div class="ui form">
  134. <div class="fields">
  135. <div class="field">
  136. <label>{{.locale.Tr "admin.monitor.queue.pool.timeout"}}</label>
  137. <input name="timeout" type="text" placeholder="{{.locale.Tr "admin.monitor.queue.pool.addworkers.timeout.placeholder"}}">
  138. </div>
  139. </div>
  140. <button class="ui submit button">{{.locale.Tr "admin.monitor.queue.pool.flush.submit"}}</button>
  141. </div>
  142. </form>
  143. </div>
  144. <h4 class="ui top attached header">
  145. {{.locale.Tr "admin.monitor.queue.pool.workers.title"}}
  146. </h4>
  147. <div class="ui attached table segment">
  148. <table class="ui very basic striped table">
  149. <thead>
  150. <tr>
  151. <th>{{.locale.Tr "admin.monitor.queue.numberworkers"}}</th>
  152. <th>{{.locale.Tr "admin.monitor.start"}}</th>
  153. <th>{{.locale.Tr "admin.monitor.queue.pool.timeout"}}</th>
  154. <th></th>
  155. </tr>
  156. </thead>
  157. <tbody>
  158. {{range .Queue.Workers}}
  159. <tr>
  160. <td>{{.Workers}}{{if .IsFlusher}}<span title="{{$.locale.Tr "admin.monitor.queue.flush"}}">{{svg "octicon-sync"}}</span>{{end}}</td>
  161. <td>{{DateFmtLong .Start}}</td>
  162. <td>{{if .HasTimeout}}{{DateFmtLong .Timeout}}{{else}}-{{end}}</td>
  163. <td>
  164. <a class="delete-button" href="" data-url="{{$.Link}}/cancel/{{.PID}}" data-id="{{.PID}}" data-name="{{.Workers}}" title="{{$.locale.Tr "remove"}}">{{svg "octicon-trash"}}</a>
  165. </td>
  166. </tr>
  167. {{else}}
  168. <tr>
  169. <td colspan="4">{{.locale.Tr "admin.monitor.queue.pool.workers.none"}}
  170. </tr>
  171. {{end}}
  172. </tbody>
  173. </table>
  174. </div>
  175. {{end}}
  176. <h4 class="ui top attached header">
  177. {{.locale.Tr "admin.monitor.queue.configuration"}}
  178. </h4>
  179. <div class="ui attached segment">
  180. <pre>{{.Queue.Configuration | JsonPrettyPrint}}
  181. </div>
  182. </div>
  183. </div>
  184. <div class="ui small basic delete modal">
  185. <div class="ui icon header">
  186. {{svg "octicon-x" 16 "close inside"}}
  187. {{.locale.Tr "admin.monitor.queue.pool.cancel"}}
  188. </div>
  189. <div class="content">
  190. <p>{{$.locale.Tr "admin.monitor.queue.pool.cancel_notices" `<span class="name"></span>` | Safe}}</p>
  191. <p>{{$.locale.Tr "admin.monitor.queue.pool.cancel_desc"}}</p>
  192. </div>
  193. {{template "base/delete_modal_actions" .}}
  194. </div>
  195. {{template "base/footer" .}}