feat: remove & retry queue jobs

This commit is contained in:
tdurieux
2021-09-23 18:45:39 +02:00
parent 046d0c65cf
commit ad49eedebc
3 changed files with 88 additions and 33 deletions
+18 -10
View File
@@ -6,9 +6,7 @@
class="col-12 d-flex px-0 py-3 border-bottom color-border-secondary"
ng-repeat="job in downloadJobs as filteredDownloadJobs"
>
<div class="w-100">
{{job}}
</div>
<div class="w-100">{{job}}</div>
<div class="d-flex">
<div class="dropdown">
<button
@@ -25,11 +23,17 @@
<a
class="dropdown-item"
href="#"
ng-show="job.status != 'removed'"
ng-click="removeJob(job)"
ng-click="removeJob('download', job)"
>
<i class="fas fa-trash-alt"></i> Remove
</a>
<a
class="dropdown-item"
href="#"
ng-click="retryJob('download', job)"
>
<i class="fas fa-sync"></i> Retry
</a>
</div>
</div>
</div>
@@ -47,9 +51,7 @@
class="col-12 d-flex px-0 py-3 border-bottom color-border-secondary"
ng-repeat="job in removeJobs as filteredRemoveJobs"
>
<div class="w-100">
{{job}}
</div>
<div class="w-100">{{job}}</div>
<div class="d-flex">
<div class="dropdown">
<button
@@ -66,11 +68,17 @@
<a
class="dropdown-item"
href="#"
ng-show="job.status != 'removed'"
ng-click="removeJob(job)"
ng-click="removeJob('remove', job)"
>
<i class="fas fa-trash-alt"></i> Remove
</a>
<a
class="dropdown-item"
href="#"
ng-click="retryJob('remove', job)"
>
<i class="fas fa-sync"></i> Retry
</a>
</div>
</div>
</div>
+32 -20
View File
@@ -126,7 +126,7 @@ angular
page: 1,
limit: 25,
sort: "name",
search: ""
search: "",
};
function getConferences() {
@@ -154,7 +154,8 @@ angular
true
);
},
]).controller("queuesAdminController", [
])
.controller("queuesAdminController", [
"$scope",
"$http",
"$location",
@@ -170,21 +171,12 @@ angular
$scope.downloadJobs = [];
$scope.removeJobs = [];
$scope.total = -1;
$scope.totalPage = 0;
$scope.query = {
page: 1,
limit: 25,
sort: "name",
search: ""
};
function getQueues() {
$http.get("/api/admin/queues", { params: $scope.query }).then(
(res) => {
$scope.downloadJobs = res.data.downloadQueue;
$scope.removeJobs = res.data.removeQueue;
$scope.$apply();
},
(err) => {
console.error(err);
@@ -193,14 +185,34 @@ angular
}
getQueues();
let timeClear = null;
$scope.$watch(
"query",
() => {
clearTimeout(timeClear);
timeClear = setTimeout(getQueues, 500);
},
true
);
$scope.removeJob = function (queue, job) {
$http
.delete(`/api/admin/queue/${queue}/${job.id}`, {
params: $scope.query,
})
.then(
(res) => {
getQueues();
},
(err) => {
console.error(err);
}
);
};
$scope.retryJob = function (queue, job) {
$http
.post(`/api/admin/queue/${queue}/${job.id}`, {
params: $scope.query,
})
.then(
(res) => {
getQueues();
},
(err) => {
console.error(err);
}
);
};
},
]);