Skip to content

Commit

Permalink
Merge pull request #31 from oisinBates/error-handling
Browse files Browse the repository at this point in the history
Stop Tasks and include exception message
  • Loading branch information
czue committed Apr 27, 2020
2 parents f85c2df + 2813db8 commit 34e3023
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 7 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,18 @@ def my_task(self, seconds):
return result
```

You can add an optional progress description like this:

```python
progress_recorder.set_progress(i + 1, seconds, description='my progress description')
```

You can stop your task with an exception message like this:

```python
progress_recorder.stop_task(i + 1, seconds, 'my exception message')
```

### Displaying progress

In the view where you call the task you need to get the task ID like so:
Expand Down
2 changes: 1 addition & 1 deletion celery_progress/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def get_info(self):
'complete': True,
'success': success,
'progress': _get_completed_progress(),
'result': self.result.get(self.task_id) if success else None,
'result': self.result.get(self.task_id) if success else str(self.result.info),
}
elif self.result.state == PROGRESS_STATE:
return {
Expand Down
6 changes: 3 additions & 3 deletions celery_progress/static/celery_progress/celery_progress.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ var CeleryProgressBar = (function () {
}
}

function onErrorDefault(progressBarElement, progressBarMessageElement) {
function onErrorDefault(progressBarElement, progressBarMessageElement, excMessage) {
progressBarElement.style.backgroundColor = '#dc4f63';
progressBarMessageElement.innerHTML = "Uh-Oh, something went wrong!";
progressBarMessageElement.innerHTML = "Uh-Oh, something went wrong! " + excMessage;
}

function onProgressDefault(progressBarElement, progressBarMessageElement, progress) {
Expand Down Expand Up @@ -48,7 +48,7 @@ var CeleryProgressBar = (function () {
if (data.success) {
onSuccess(progressBarElement, progressBarMessageElement, data.result);
} else {
onError(progressBarElement, progressBarMessageElement);
onError(progressBarElement, progressBarMessageElement, data.result);
}
if (data.result) {
onResult(resultElement, data.result);
Expand Down
6 changes: 3 additions & 3 deletions celery_progress/static/celery_progress/websockets.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ var CeleryWebSocketProgressBar = (function () {
CeleryProgressBar.onResultDefault(resultElement, result);
}

function onErrorDefault(progressBarElement, progressBarMessageElement) {
CeleryProgressBar.onErrorDefault(progressBarElement, progressBarMessageElement);
function onErrorDefault(progressBarElement, progressBarMessageElement, excMessage) {
CeleryProgressBar.onErrorDefault(progressBarElement, progressBarMessageElement, excMessage);
}

function onProgressDefault(progressBarElement, progressBarMessageElement, progress) {
Expand Down Expand Up @@ -45,7 +45,7 @@ var CeleryWebSocketProgressBar = (function () {
if (data.success) {
onSuccess(progressBarElement, progressBarMessageElement, data.result);
} else {
onError(progressBarElement, progressBarMessageElement);
onError(progressBarElement, progressBarMessageElement, data.result);
}
if (data.result) {
onResult(resultElement, data.result);
Expand Down

0 comments on commit 34e3023

Please sign in to comment.