например,
"При выполнении операции закрытия месяца "Распределение затрат и расчет себестоимости" произошла ошибка:
Аварийно завершился рабочий процесс фонового задания "
сталкивались. как правило это повод включать ТЖ и анализировать.
Если у вас установлено "перезапускать рабочие процессы кластера" то именно так и происходит
Код многих фоновых заданий написан так, словно он может выполняться неограниченно или достаточно долгое время без перерыва. На практике это, конечно, неверно, и задания надо писать так, чтобы они могли возобновить свою работу с места аварийной остановки. К сожалению, авторы типовых конфигураций не всегда этому следуют.
Причем тут аварийное завершение фоновых?
А можете поделиться ссылкой на подобную методику написания фоновых заданий (ну чтобы они могли сами потом восстанавливаться после сбоя). Очень интересно и был бы очень признателен за подобную информацию
При том, что человек мучается: при завершении rphost завершается сеанс фонового задания, и оно не может закончить то, ради чего написано.
Не могу, такой методики не существует.
хм-м-м... вы же написали "На практике это, конечно, неверно, и задания надо писать так, чтобы они могли возобновить свою работу с места аварийной остановки". Или я не так вас понял? Или же надо писать так "но методики как писать не существует"? 🤷♂️
обычно выручает "пакетный" способ - когда фоновое обрабазывает зачачу частями. и по каждой пишет какой-то лог, сохраняет курсор и понимает, с какого куска надо начать методика общая для всех алгоритмов обработки частей.
"сохраняет курсор" - это вы не с хранимками скуля спутали? Ну какой ещё "курсор" в фоновых? И логи если и пишутся - так только журналом регистрации. Или предлагаете фоновыми каждый чих логировать? Тогда сервак у вас просто умрёт. Нет? 🤔
я лишь о том, что когда процесс длится не вечно и может умереть в любой момент - задачу дробят на части и сохраняют промежуточные состояния её обработки. это общий алгоритм. детали под конкретное фоновое задание конечно же нужно проектировать индивидуально, с учетом в каком контексте оно выполняется и что собственно обрабатывает.
Это иллюзии. Очень часто задачи не делимы и действия идут в рамках транзакции. Как вы можете "нарезать транзакцию", что бы её можно выполнять "кусочками" 🤷♂
Просто не понятно от куда вы такие правила вытащили. Или просо сами выдумали
Поэтому и попросил ссылочку🤗
ну, её же нет ;)
Обсуждают сегодня