кварцевые аппаратные часы - PullRequest
0 голосов
/ 27 апреля 2010

Я использую кварц в моем проекте и у меня одна работа cron. Выражение cron, которое я даю триггеру ( CronTrigger ), поскольку рабочий параметр соответствует аппаратным часам компьютера. Любые идеи, как заставить работу смотреть на программные часы вместо этого?

Например, у меня есть Job, работающий в течение года, и он работает ровно в 22:00, и когда-нибудь мы перейдем на летнее время, я бы хотел, чтобы работа cron автоматически обновлялась.

Roman

Ответы [ 2 ]

1 голос
/ 13 августа 2010

Простой, всегда используйте UTC для системного времени (и часового пояса) на серверах .

Я серьезно, это касается таких вопросов, как правила перехода на летнее время, помогает обеспечить почти * монотонное увеличение времени (т. Е. Время не «прыгает» назад, нарушая многие предположения для зависящего от времени программного обеспечения), и для серверы и / или пользователи в разных часовых поясах (т. е. географически распределенные компьютеры и / или пользователи).

*) Я проигнорирую високосные секунды для этой ситуации.

Поскольку это кажется проблемой с компьютерной системой и инструментами, связанными с ОС (например, cron), я не думаю, что этот вопрос подходит для StackOverflow.com , пожалуйста, рассмотрите возможность его перемещения на ServerFault.com

1 голос
/ 27 апреля 2010

Под "летним временем" вы подразумеваете изменение на Daylight_saving_time ?

Этот случай будет обработан автоматически.

Единственное, с чем вам нужно быть осторожным, - это задания, запланированные во время самой смены.

В прямом сдвиге время изменяется от 1am (std) до 2am (std) до 1am (dst). Задания, запланированные на выполнение с 1:00 до 2:00, должны быть уверены, что они не выполняются дважды.

Сдвиг назад может иметь обратный эффект. Время идет от 1am (dst) до 2am (dst) до 3am (std). В зависимости от того, как Quartz реализовал это, он может либо пропустить задания в интервале, либо запустить все задания в интервале после смены.

Если это задание, которое обязательно должно выполняться, запланируйте его вне окна смены (время смены +/- 1 час).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...