powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Синхронизация с веб-сервисом
14 сообщений из 14, страница 1 из 1
Синхронизация с веб-сервисом
    #39708121
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется десктопное приложение на Delphi и веб-сервис онлайн-записи клиентов c REST API. Соответственно нужно новые записи клиентов с веб-сервиса садить в десктопное приложение. В десктопное приложение запись клиентов также может добавляться по звонку клиента.
Поэтому хотел посоветоваться:
1) Как часто опрашивать сервис? Напрашивается минута, но и за минуту уже может пойти нестыковка. 30 секунд?
2) Стоит ли выделить опрос веб-сервиса в отдельное приложение или отдельного потока хватит?
3) Если работать через поток, то 30 секунд не слишком ли часто.

Заранее спасибо, и прошу без пинков, если можно =)
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39708140
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik,

1. id клиента - его телефонный номер? Или что?
2. Расскажи, какие действия ты подразумеваешь под словом "синхронизация", подробно.
3. Что ты понимаешь под словом "нестыковка" (подробно) и что ты собираешься делать в этом случае?
4. Что случится, если "синхронизация" (еще раз: что это, подробно?) будет выполняться "слишком часто"?
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39708153
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вижу в хрустальном шаре традиционную хотелку
данные синхронно обновляются на всем земном шаре
что изменится, если вы получите данные на 30 секунд позже?
если ваш сервер может ответить на 10 запросов в секунду, то при запросе данных раз в 30 секунд
примерно 300 пользователей положат систему.

просто исходите из этой простой мысли
ничего отдельного писать не нужно, просто в потоке раз в N сек. стучитесь и получайте статус, нужно ли что-то скачивать с сервера, опираясь на время вашего последнего скачивания
если есть, то отдельным запросом скачивайте обновления и ставьте себе
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39708247
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С точки зрения моего здравого смысла, проверять надо в двух моментах:
1) перед открытием формочки для ввода данных
2) перед отправкой/или сервер вернет ошибку что время занято.
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39708969
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Котовасияaidynchik,

1. id клиента - его телефонный номер? Или что?
2. Расскажи, какие действия ты подразумеваешь под словом "синхронизация", подробно.
3. Что ты понимаешь под словом "нестыковка" (подробно) и что ты собираешься делать в этом случае?
4. Что случится, если "синхронизация" (еще раз: что это, подробно?) будет выполняться "слишком часто"?

1. Да, ID клиента - его телефонный номер
2. Под синхронизацией - запись клиентов с веб-сервиса ложить в десктоп
3. Нестыковка - за время, что прошло с последнего опроса, появились записи в десктопе, и теоретически время может совпасть
4. Вот и я спрашивал, не будет ли приложение напрягаться :)
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39708970
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747С точки зрения моего здравого смысла, проверять надо в двух моментах:
1) перед открытием формочки для ввода данных

Очень здравая мысль :) похоже, что так и сделаю, единственно опять же 2 момента
1) Если в этом же потоке делать, то будет небольшое подвисание формы, пока запрос отработает
2) Если делать в отдельном потоке, есть риск, что пользователь вобьет данные и закроет форму раньше, чем пришли данные с веба
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39708991
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik,

кто конечный хранитель данных? База? Если база, то может там организовать синхронизацию консолидацию данных?
Не должно быть разницы, откуда прилетели данные. Если данных с таким ид нет - вставляем, есть - обновляем.
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39709011
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchikКак часто опрашивать сервис? Напрашивается минута, но и за минуту уже может пойти нестыковка. 30 секунд?

long polling

Коли у тебя рест, читай https://ru.wikipedia.org/wiki/Comet_(программирование)
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39709132
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldmi45 Если данных с таким ид нет - вставляем, есть - обновляем. РУГАЕМСЯ на конфликт
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39709160
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО:

1. Запрашиваем список доступных интервалов для записи и показываем его пользователю;
2. Когда пользователь выбирает время для записи, то сначала проверяем свободна ли оно до сих пор и по результату - либо сразу создаём запись на это время без данных пользователя, с пометкой "зарезервировано", либо сообщаем пользователю: "извините, птичка улетела, выберите другое время";
3. Если пользователь передумал записываться и закрыл формочку - удаляем временную запись;
4. Ну и если пользователь слишком долго тупит глядя в полученный в п.1 список, то обновляем этот список с некоторым интервалом, интервал обновления выбираем в зависимости от скорости получения данных и количества пользователей системы. Например, если список загружается в пределах секунды, а количество пользователей невелико, то за этот интервал можно взять среднее время оформления одной заявки.
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39709183
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aidynchik1) Как часто опрашивать сервис? Напрашивается минута, но и за минуту уже может пойти нестыковка. 30 секунд?
2) Стоит ли выделить опрос веб-сервиса в отдельное приложение или отдельного потока хватит?
3) Если работать через поток, то 30 секунд не слишком ли часто.
По идее тут имел бы смысл двухсторонний интерфейс. Клиент подписывается на информацию об обновлениях определённого контента и сервис рассылает "пуши" об изменениях данных. Тогда клиенту не надо ничего дёргать самому, а просто ждать когда ему сообщат об изменениях.
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39709358
aidynchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimonka,

а что есть возможность кинуть уведомление десктопному приложению? по-моему нет такого
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39709382
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Синхронизация с веб-сервисом
    #39709418
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В реальном времени что ли надо обновлять? Тогда читать про "long polling". А вообще 30 секунд нормальный вариант. Обычно никакой срочности не надо в данных.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Синхронизация с веб-сервисом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]