Перейти к содержимому
Калькуляторы

UTM5 и перевод времени

Кто-нибуть сталкивался с тем, что нужно перевести время в биллинге на час назад? Нельзя же просто поменять системное время на сервере?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Наиболее щадящий метод: останавливаем ядро биллинга и БД, откатываем время. Выжидаем час, чтобы не возникло старых записей "из будущего", и запускаем все снова.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Темы были и на форуме netup. Вкратце - обновление tz на сервере на текущую, перезагруза сервера не требует, ntp-синхронизация. А вот у клиентах-админках, там геморроя полно. Обновить java или поставить обновление tz для России, или установить tz в админке неправильную... Мне - хватило этого, ибо время в админке очень зависит и от tz компа и от явы...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Наиболее щадящий метод: останавливаем ядро биллинга и БД, откатываем время. Выжидаем час, чтобы не возникло старых записей "из будущего", и запускаем все снова.

 

Так можно же и в биосе то же самое сделать - перевести время на час, подождать час и готово?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем перевели на живую :)

Отключили ядро,

Перевели время,

Включили ядро.

По базе: все записи корректно пишет, ничего не сломалось.

Единственное, по перерасчеты аб.платы, которые после перезагруки появились в "будущем", биллинг решил их аннулировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так можно же и в биосе то же самое сделать - перевести время на час, подождать час и готово?

 

А почему бы не держать в биосе UTC?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Единственное, по перерасчеты аб.платы, которые после перезагруки появились в "будущем", биллинг решил их аннулировать.

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

 

Кстати, судя по вопросу, кое-кто прощелкал прошлогоднюю вспышку с изменениями таймзон? :) В этом году вроде ничего не меняли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на сервере используйте таймзону UTC, и покончите с этим геморроем.

 

на на клентской админке делайте прямое указание таймзоны (можно даже не обновлять TZ, просто подобрать соответствующую вашей)

 

типа такого:

 

#!bin/sh

TZ='Asia/Novosibirsk' /usr/lib/jvm/java-1.5.0-sun/bin/java -Xmx192m -jar UTM_Admin.jar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

' timestamp='1447050266' post=1197302]

на сервере используйте таймзону UTC, и покончите с этим геморроем.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

с веб-интерфейсом и платежными системами.

никто не мешает вебу в переменных окружения передать какие угодно таймзоны, а вот про платежные системы не понял, что там должно ломаться?

к вам просто прилетает платеж, а какое время там у платежной системы, никого особо не волнует, вы же платеж записываете по приходу согласно своей таймзоне, или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

' timestamp='1447070354' post=1197529]

никто не мешает вебу в переменных окружения передать какие угодно таймзоны, а вот про платежные системы не понял, что там должно ломаться?

 

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

 

' timestamp='1447070354' post=1197529]

к вам просто прилетает платеж, а какое время там у платежной системы, никого особо не волнует, вы же платеж записываете по приходу согласно своей таймзоне, или нет?

 

У платежа два поля - дата платежа, сообщаемая платежной системой, и дата фактического зачисления, генерируемая ядром биллинга. В вашем случае вторая дата будет меньше, чем первая. И это тоже придется как-то учитывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отключили ядро,

Перевели время,

Включили ядро.

 

Мы ещё меняли таймзону в php и в mysql.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И это тоже придется как-то учитывать.

Запускать процесс импорта платежей тоже с нужной таймзоной?

За все платежные системы не скажу, но время идет в формате unix timestamp (UTC), и, соответственно, подчиняется общим правилам отображения времени.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Что-то совсем запутали. Все операционика идет в timestamp UTC - платежи, события и т.д. Отображение идет, как localtime, время-зависимые принятия решения тоже идет в отображаемом формате. Система сама разберется, где что лежит. Что отслеживать то надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.