Skip to content
Snippets Groups Projects
Commit 95883125 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch...

Merge branch '709-celery-progress-doesn-t-show-status-messages-between-last-progress-and-the-success-poll' into 'master'

Resolve "celery-progress doesn't show status messages between last PROGRESS and the SUCCESS poll"

Closes #709

See merge request !1063
parents dd124906 6d85bec0
No related branches found
No related tags found
1 merge request!1063Resolve "celery-progress doesn't show status messages between last PROGRESS and the SUCCESS poll"
Pipeline #80570 canceled
......@@ -9,6 +9,11 @@ and this project adheres to `Semantic Versioning`_.
Unreleased
----------
Fixed
~~~~~
* The progress page for background tasks didn't show all status messages.
`2.10`_ - 2022-06-25
--------------------
......
......@@ -24,25 +24,32 @@ function renderMessageBox(level, text) {
return '<div class="alert ' + STYLE_CLASSES[level] + '"><p><i class="material-icons iconify left" data-icon="' + ICONS[level] + '"></i>' + text + '</p></div>';
}
function updateMessages(messages) {
const messagesBox = $("#messages");
// Clear container
messagesBox.html("");
// Render message boxes
$.each(messages, function (i, message) {
messagesBox.append(renderMessageBox(message[0], message[1]));
});
}
function customProgress(progressBarElement, progressBarMessageElement, progress) {
setProgress(progress.percent);
if (progress.hasOwnProperty("messages")) {
const messagesBox = $("#messages");
// Clear container
messagesBox.html("")
// Render message boxes
$.each(progress.messages, function (i, message) {
messagesBox.append(renderMessageBox(message[0], message[1]));
})
updateMessages(progress.messages);
}
}
function customSuccess(progressBarElement, progressBarMessageElement) {
function customSuccess(progressBarElement, progressBarMessageElement, result) {
setProgress(100);
if (result) {
updateMessages(result);
}
$("#result-alert").addClass("success");
$("#result-icon").attr("data-icon", "mdi:check-circle-outline");
$("#result-text").text(OPTIONS.success);
......@@ -54,8 +61,11 @@ function customSuccess(progressBarElement, progressBarMessageElement) {
}
}
function customError(progressBarElement, progressBarMessageElement) {
function customError(progressBarElement, progressBarMessageElement, excMessage) {
setProgress(100);
if (excMessage) {
updateMessages([40, excMessage]);
}
$("#result-alert").addClass("error");
$("#result-icon").attr("data-icon", "mdi:alert-octagon-outline");
$("#result-text").text(OPTIONS.error);
......
......@@ -155,7 +155,8 @@ def recorded_task(orig: Optional[Callable] = None, **kwargs) -> Union[Callable,
@wraps(orig)
def _inject_recorder(task, *args, **kwargs):
recorder = ProgressRecorder(task)
return orig(*args, **kwargs, recorder=recorder)
orig(*args, **kwargs, recorder=recorder)
return recorder._messages
# Force bind to True because _inject_recorder needs the Task object
kwargs["bind"] = True
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment