gogbajbobo / geotracking

2 stars 0 forks source link

Перестало синхриться после запуска #44

Closed alevinru closed 11 years ago

gogbajbobo commented 11 years ago

после запуска чего?

alevinru commented 11 years ago

После запуска сессии. Пока #34 проверял заметил что оно после логоф-логин не ходит на сервер за настройками

gogbajbobo commented 11 years ago

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

alevinru commented 11 years ago

ога

gogbajbobo commented 11 years ago

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

alevinru commented 11 years ago

После повторного наверное не обязательно, достаточно чтобы при первичном работало

gogbajbobo commented 11 years ago

при первичном то работает

gogbajbobo commented 11 years ago

и сработает, если синкер после логофа успел завершить работу

gogbajbobo commented 11 years ago

хотя могу врать, проверю

alevinru commented 11 years ago

Похоже при первом старте все-таки оно синхрится, да. Но не при повторном. Ну пусть так будет

alevinru commented 11 years ago

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

gogbajbobo commented 11 years ago

Не очень понимаю. Вот смотри как работает синкер: при первом логине он делает пустой запрос, получает настройки и дальше синхрится только если кол-во объектов равно какой-то заданной величине или по расписанию. Каждый сеанс синхронизации содержит как минимум один пустой запрос. Когда сессия получает команду на завершение, то синкер продолжает работу с данными параметрами, пока количество неотсинхрённых объектов не станет 0. Если до этого момента сессию снова запустили, то синкер продолжает работать как ни в чём не бывало, он этой остановки сессии не заметит. Если сессию запустили после того как синкер закончил работу, то жизненный цикл его повторяется заново. Так оно должно быть.

Не пойму в каком месте что-то происходит не так?

gogbajbobo commented 11 years ago

я понял, в момент, когда сессия получает команду на завершение, надо делать еще одну принудительную синхронизацию