Open gsbelarus opened 3 years ago
@sunnycreature надо предоставить @ShlTanya архив бд и последовательность действий, чтобы повторить зацикливание.
Проблему нашла. Если задача не выполнена вовремя - я делаю ее Отключена?
Может при этом сделать запись в Control center?
Да. Отключать и сделать запись.
On Tue, Jan 12, 2021 at 1:00 PM ShlTanya notifications@github.com wrote:
Может при этом сделать запись в Control center?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Исправлено
исправлено в бета версии. надо проверить.
Зацикливание происходит также в том случае, если окончание выполнения автозадачи попадает на время, большее, чем ENDTIME. Проблема актуальна для последнего ехе,
запрос SELECT t.disabled, t.userkey, t.computer, t.pulse, l.creationdate FROM gd_autotask t LEFT JOIN gd_autotask_log l ON t.id = l.autotaskkey AND l.creationdate >=
Экзешник грузится, затем пытаемся открыть меню в главном окне и наблюдаем "зависание". В профайлере регистрируются сотни тысяч раз выполнения запроса:
Этот запрос находится только внутри
TgdAutoTaskThread.UpdateTaskList
.Опытным путем было установлено, что зависание связано с автозадачей:
Она настроена на выполнение 1-го января, но 1-го января экзешник не запускался. Как видно, лог ее выполнения пуст:
Т.е. есть предположение, что если автозадача была настроена на выполнение в указанную дату и, возможно, в указанный диапазон времени, как задача, указаннае выше, и её не удалось выполниться (например, в этот день был выходной), то дальше система будет зависать/зацикливаться при обработке списка задач.
Надо попробовать смоделировать такую ситуацию. Если не получится, то предоставим архив базы, где точно случай подтверждается.