У меня есть работа для моей программы, выполнение которой занимает много времени. Теперь я хочу показать статус этой работы моему интерфейсу после ее завершения. Я нашел два решения этой проблемы:
- Выполните вызов API в конце 30-минутного задания, чтобы обновить состояние завершения задания. Это хорошо, потому что он может дать дополнительную информацию о том, что произошло в работе, но имеет недостаток в том, что если что-то пойдет не так, есть шанс, что код, который вызывает API, никогда не произойдет, и, следовательно, статус никогда не обновится.
- Постоянно следить за выполнением этой задачи после ее запуска. Потратьте некоторое время l oop и продолжайте проверять, выполнено ли задание. Это хороший подход, так как мы почти всегда можем получить правильный статус задачи, но часто мы можем видеть только высокий уровень да / нет здесь, вместо того, чтобы видеть детализированные детали выполнения, которые могут быть доступны.
Одна вещь, которую я не реализовал, хотя я думаю, что мое хорошее решение - это то, что оба эти решения в тандеме делают оба, поэтому, если будет успешный случай, я получу подробности выполнения. В случае полного отказа я получаю этот вывод также из другого инструмента мониторинга. Каковы общие принципы, которым следуют при создании такой поддержки мониторинга для заданий, выполнение которых занимает больше времени?