Currently, if a monq task fails, it sets the state to "error" and that's it. There should be a mechanism for tasks to indicate that they should be retried on failure (with a maximum retry limit).
Alternatively, research Celery and see if it would be a more appropriate fit, to replace the home-grown monq.