28.06.2008 13:01
kadr
 
А проверить самостоятельно? Ответ на вопрос может быть получен только путём экспериментов, ну или разработчиков мучать.
01.07.2008 11:12
Vovantus
 
Цитата:
Mihon Вернусь к своему вопросу, уточню его еще.
распис. выгрузки с 08.00 до 23.00 инт 20 мин.
КМ запустился в 05.00 после бэкапа и работает, все выгружает.
1 вариант: В 08.30 его останавливаем и включаем в 08.35. Начнется выгрузка?
2 вариант: В 08.15 его останавливаем и включаем в 08.30. Начнется выгрузка?
Предположим, у тебя версия СМ свежая и КМ не страдает болезнью смещать выгрузки по времени. Вот смотри что получается исходя из твоей схемы:

1. Первая выгрузка происходит в 8.00. Следующая в 8.20. В 8.30 ты вырубил КМ. Врубил его в 8.30, но выгружать он не будет, т.к. следующая выгрузка у него "запланирована" на 8.40. Вот тогда он и выгрузится.

2. Первая выгрузка происходит в 8.00. Потом, в 8.15, КМ останавливается и, следовательно, пропускает выгрузку, которая должна быть в 8.20. После того как КМ в 8.30 запускается, сразу начинается выгрузка.

Эти мысли на практике проверить не могу, т.к. у меня СМ той версии, в которой КМ страдает болезнью смещать выгрузки по времени. Но эту болезнь вылечили в версии 1.024.5. Поэтому, могу предположить, что кассовый модуль будет вести себя так, как я написал выше.
01.07.2008 12:43
Mihon
 
А как ты думаешь, почему я написал именно это время и эти диапазоны? Мотому что сам предполагаю то же самое.
Хорошо, предположим, наше предположение верно.
Тогда схемка:
8.00 КМ запущен.
8.20 Выгрузка
8.30 КМ остановлен.
8.31 расписание поменялось на с 8.00 до 23.40 инт. 1 минута.
8.31 КМ запущен.
? предположим выгрузка начнется ?
8.31 Цикл-проверка на то что КМ отработал и выгрузил что надо
8.33 КМ остановлен
8.33 Меняем расписание обратно
8.33 КМ запущен

Вопрос: как сделать цикл-проверку?
Варианты:
1. По загруженности ЦП (не прокатит)
2. По Файлам, созданным в директории касс (коряво)
3. Может быть, еще как-то?
01.07.2008 13:17
kadr
 
Используй флаг в таблице касс (полная выгрузка), я уже писал, как только СуперМаг выполняет условие "Следующая выгрузка будет полной", он его сбрасывает.

Так же в базе хранится значение из интерфейса "Прошлая выгрузка"
01.07.2008 13:57
Mihon
 
Цитата:
kadr Используй флаг в таблице касс (полная выгрузка), я уже писал, как только СуперМаг выполняет условие "Следующая выгрузка будет полной", он его сбрасывает.

Так же в базе хранится значение из интерфейса "Прошлая выгрузка"
хм... интересное предложение
а если потребуется сделать частичную выгрузку? (полная кассами принимается дольше)

А где уж хранится "Прошлая выгрузка"? Там же, гре флаг "полная"?
01.07.2008 14:23
Vovantus
 
Цитата:
Mihon Вопрос: как сделать цикл-проверку?
Варианты:
1. По загруженности ЦП (не прокатит)
2. По Файлам, созданным в директории касс (коряво)
3. Может быть, еще как-то?
При любом варианте стандартными средствами ОС ты не решишь поставленной задачи. Нужно что-нить стороннее использовать..

1. Почему не прокатит отслеживание загрузки CPU сервисом КМ? Это вариант. Вполне рабочий. Нужно просто сесть и посмотреть во время выгрузки насколько КМ грузит проц и в течении какого времени.

2. Почему тебе не нравится вариант с отслеживанием файлов в директории выгрузки? У тебя есть почтовый сервер? У меня нет, поэтому прекрастно всё работает. Секрет в том, что локальные каталоги выгрузки на сервере недоступны для касс. На кассы данные передаются в сжатом виде, кусочками, посредством отдельных скриптов. Для примера. Магазин, 3 кассы. Выгрузка на них в чистом виде (DB + индексы) весит порядка 95 метров. После всех оптимизаций выгразка уменьшается в 50 раз!!!
01.07.2008 14:37
akonev
 
Цитата:
Mihon хм... интересное предложение
а если потребуется сделать частичную выгрузку? (полная кассами принимается дольше)
как вариант, если захочется отслеживать именно этот флаг: завести в СМ дополнительную виртуальную кассу и в случае частичной - полную взводить только для этой кассы.
если флаг взведен не для всех касс - сначала отрабатывается частичная, потом отдельным проходом полная.
стало быть, если полная готова (флаг сбросился) - значит и частичные уже готовы.

корявость в контроле файлов-флагов вижу только одну: чтобы не пропустить появление файла до того момента, как его съест касса - надо выгружать в один каталог, а кассе отдавать из другого.
на перекладывании из каталога в каталог действительно будет сложность, если касса не забрала предыдущую выгрузку.
02.07.2008 00:38
Vovantus
 
Цитата:
Andrew_Konev корявость в контроле файлов-флагов вижу только одну: чтобы не пропустить появление файла до того момента, как его съест касса - надо выгружать в один каталог, а кассе отдавать из другого.
на перекладывании из каталога в каталог действительно будет сложность, если касса не забрала предыдущую выгрузку.
Забыл сказать, у меня всегда полная выгрузка! Следовательно, никаких проблемм *106
02.07.2008 08:51
Mihon
 
Цитата:
Andrew_Konev как вариант, если захочется отслеживать именно этот флаг: завести в СМ дополнительную виртуальную кассу и в случае частичной - полную взводить только для этой кассы.
если флаг взведен не для всех касс - сначала отрабатывается частичная, потом отдельным проходом полная.
стало быть, если полная готова (флаг сбросился) - значит и частичные уже готовы.

корявость в контроле файлов-флагов вижу только одну: чтобы не пропустить появление файла до того момента, как его съест касса - надо выгружать в один каталог, а кассе отдавать из другого.
на перекладывании из каталога в каталог действительно будет сложность, если касса не забрала предыдущую выгрузку.
Дополнительная касса... должно получиться...
А может, лучше смотреть значение "Прошлая выгрузка"?
kadr, где же оно хранится?
02.07.2008 09:14
Mihon
 
Сейчас ковыряю SVdepots, кто-нибудь знает, что значит Cashloadstart, Cashloadfull и Cashloadtime?
Часовой пояс GMT +3, время: 18:50.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.