Вопрос

Обработка таймера

Коллеги, подскажите в процессе есть элемент "Обработка таймера", который выполняет следующее "([#Системная переменная.Текущее значение даты и времени#].AddDays(1) - [#Системная переменная.Текущее значение даты и времени#]).TotalSeconds" при этом иногда этот блок по одному процессу отрабатывает, а по другому нет.

В чем может быть проблема?

Как устроен данный функционал, куда записываются данные, как можно отследить почему не выполнился таймер.

Нравится

8 комментариев

Добрый день!

А почему туда просто константу нельзя задать ?

У вас коробка или облачное решение ?

Выяснить, как именно выполнялся процесс можно, посмотрев его историю в журнале и результаты трассировки. При трассировке можно видеть значения параметров, возможно у Вас получилось неправильное значение даты и времени или что-то подобное.

Добрый день, Евгений!

Подобные проблемы могут возникать если пул приложения засыпает из-за отсуствия Активности на сайте (напремер, в выходные). Для настройки бесперебойной работы на Вашем сайте советуем Вам выполнить следующие действия:
1. Установить для пула приложений IIS, на котором работает приложение, Idle Timeout = 0
2. Настроить автоматический мониторинг Loader'a и приложения с помощью бесплатного сервиса мониторинга https://uptimerobot.com/ (настроить автоматический мониторинг c периодичностью 5-10 минут)

В таком случае, пул будет всегда активен и процессы будут выполнятся и на выходных.

Добрый день, Илья! 

У нас наблюдается такая же проблема - "Обработка таймера" не выполняется, т.е. он выполняется бесконечно. Настроил БП так чтобы он запустился в 8:15, я вошел в систему около 8:00, т.е. если я правильно понимаю, пул активен. Несмотря на это "Обработка таймера" не завершается (таймер ждет 60 секунд). К тому же если выполнить его вручную, нажав на кнопку "Выполнить элемент", то он успешно выполняется. В чем может быть проблема?

Руслан, а с Quartz на сервере всё в порядке? Таймер не работает в одном конкретном процессе или везде?

Не могу ответить про порядок с Quartz'ом, как это можно проверить? У нас два БП с таймером и оба не работают. Было больше, у других убрал таймер, без него они ночью отрабатывают нормально. 

В базе есть таблицы с названием, начинающимся на QRTZ, в них хранится информация о заданиях, их состоянии и прочем. См. тему и обсуждение, а также ещё тут.

Хочу добавить. Чтобы запустить планировщик после перезапуска вэб-приложения (или засыпания, как тут писали), нужно зайти именно на страницу логина. То есть пока кто-нибудь не зайдет на страницу логина, планировщик не запустится. Планировщик живет в верхнем квадратике. Если пользователь аутентифицирован до перезапуска вэб-приложения, то можно сразу выйти на страницы .../0/..., но это не запустит планировщик.

Показать все комментарии