Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как опрашивать веб сервис по расписанию? / 25 сообщений из 72, страница 1 из 3
23.01.2014, 14:54
    #38535661
cavalero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
День добрый!

Вот думаю над следующей задачей: есть туристический сайт на asp.net.

Для этого сайта требуется каждую минуту обновлять квоты для гостиниц.

Источником данных выступает веб сервис.

Вопрос, каким образом лучше всего реализовать логику для этой операции?

Насколько я понимаю, в asp.net подходящих таймеров и scheduler'a нет.

В голову приходит только написание windows сервиса, который бы проводил скачивание квот и потом их импортировал в базу.

Я думаю в верном направлении, или данная задача может иметь другие пути решения?
...
Рейтинг: 0 / 0
23.01.2014, 14:56
    #38535665
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
Самое простое: консольное приложение или батник на вин шедулере. Ну или вин сервис, да.
...
Рейтинг: 0 / 0
23.01.2014, 14:57
    #38535666
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
свяжитесь с разработчиками вебсервиса, может у них есть возможность как-то "подписаться на обновления"
...
Рейтинг: 0 / 0
23.01.2014, 15:07
    #38535676
cavalero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
Паганель,

увы нет, там тоже сайт на asp.net и только pull метод.
...
Рейтинг: 0 / 0
23.01.2014, 15:07
    #38535677
cavalero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
МСУ,

похоже, придётся пилить вин сервис.
...
Рейтинг: 0 / 0
23.01.2014, 15:43
    #38535714
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
cavaleroпохоже, придётся пилить вин сервис.
Идеально подходит для периодических задач, напр. выполнение задания каждые 2 часа. Для более гибкого шедулинга отлично подойдет нативный виндовой планировщик задач + консолина (чтобы не юзать всякий порожняк типа кварца).
...
Рейтинг: 0 / 0
23.01.2014, 15:44
    #38535716
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
cavaleroМСУ,

похоже, придётся пилить вин сервис.
Первое его приложение, насчёт батника и шедулера, гораздо лучше.
...
Рейтинг: 0 / 0
23.01.2014, 16:08
    #38535743
cavalero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
МСУ,

ок, понял, напишу сначала логику, а потом посмотрю куда ее удобнее засунуть будет.

Я описал общую задачу, но она сложнее, например сайтов может быть N и обработка запроса может длится дольше, чем время между ними и тд.
...
Рейтинг: 0 / 0
23.01.2014, 16:11
    #38535748
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
cavaleroДень добрый!

Вот думаю над следующей задачей: есть туристический сайт на asp.net.

Для этого сайта требуется каждую минуту обновлять квоты для гостиниц.

Источником данных выступает веб сервис.

Вопрос, каким образом лучше всего реализовать логику для этой операции?Лично я писал для переодической загрузки квот, стопов, цен, туров сервисы.

Случаем не в Мастер-Тур Вам надо квоты загружать? А то могу подсказать, где купить готовый модуль загрузки.
...
Рейтинг: 0 / 0
23.01.2014, 16:18
    #38535754
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
cavaleroсайтов может быть N и обработка запроса может длится дольше, чем время между ними и тд.Сервис.

Поставщиков данных может быть много, это да.

Кстати GUI для отслеживания загрузки тоже советую написать. Чтобы можно было посмотреть что загрузилось, откуда, как сопоставилось, что не сросрось, какие ошибки были. Подправить, догрузить, повторно загрузить определённые данные.

Ну и выполнить к примеру первую загрузку. Обновления квот будет уже сервис догружать лёгкими запросами.
...
Рейтинг: 0 / 0
23.01.2014, 16:39
    #38535777
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
cavaleroМСУ,

ок, понял, напишу сначала логику, а потом посмотрю куда ее удобнее засунуть будет.

Я описал общую задачу, но она сложнее, например сайтов может быть N и обработка запроса может длится дольше, чем время между ними и тд.

Да, всё правильно. Кстати, можешь взять мой готовый вин сервис для периодичских задач: http://codearticles.ru/articles/1238

Пишешь свою работу в виде IWorkItem и сервис её исполняет через время Seconds.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public interface IWorkItem
{
    // Период повтора задачи в секундах
    int Seconds { get; }

    // Задача в работе
    bool IsBusy { get; set; }
        
    // Выполнение задачи
    void ExecuteTask(CancellationToken token);

    void Cancel();
}
...
Рейтинг: 0 / 0
23.01.2014, 16:57
    #38535801
cavalero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
МСУ,

окей, спасибо! буду иметь в виду.
...
Рейтинг: 0 / 0
23.01.2014, 16:58
    #38535804
cavalero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
skyANA,

нет, не в МТ, в проприетарное приложение одного из клиентов.

А в Зеленограде я знаю только одну фирму, которая разрабатывает модули для МТ - Зелсофт :) Угадал?
...
Рейтинг: 0 / 0
23.01.2014, 17:36
    #38535870
thresher8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
МСУДа, всё правильно. Кстати, можешь взять мой готовый вин сервис для периодичских задач: http://codearticles.ru/articles/1238 ох итить... ну и архитектурко

вопрервых, ueukb topshelf и не изобретай лисапедов со StartDebug((

во=втолрых, вся логика внутри loadservice -- плохо и нетестируемо

и даже лень описывать тот ад, что творится внутри workitem.
...
Рейтинг: 0 / 0
23.01.2014, 18:36
    #38535953
cavalero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
thresher8,

а как правильно то?
...
Рейтинг: 0 / 0
23.01.2014, 19:38
    #38536002
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
thresher8вопрервых, ueukb topshelf и не изобретай лисапедов со StartDebug((
Классический подход при разработке вин сервисов. Готов показать лучший способ?

thresher8во=втолрых, вся логика внутри loadservice -- плохо и нетестируемо
Какая там логика и что там тестировать? Три строчки кода для детского сада. Рассмешил.

thresher8и даже лень описывать тот ад, что творится внутри workitem.
Ты просто еще не дорос до него, поэтому "лень" описывать. И да, таки ждем вариант лучше.
...
Рейтинг: 0 / 0
23.01.2014, 19:41
    #38536008
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
https://github.com/Topshelf/Topshelf/downloads

Зачем мне эта мертвая порнография в проекте?
...
Рейтинг: 0 / 0
23.01.2014, 20:02
    #38536022
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
МСУчтобы не юзать всякий порожняк типа кварца

на кварц не кати бочку, тулузина хороша!
...
Рейтинг: 0 / 0
23.01.2014, 20:42
    #38536062
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
hVosttна кварц не кати бочку, тулузина хороша!
Хорошая, но бесполезная - всё есть в коробке.
...
Рейтинг: 0 / 0
23.01.2014, 20:45
    #38536065
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
cavaleroskyANA,

нет, не в МТ, в проприетарное приложение одного из клиентов.

А в Зеленограде я знаю только одну фирму, которая разрабатывает модули для МТ - Зелсофт :) Угадал?Да. Я раньше там и работал. Дёшево, быстро, качественно
...
Рейтинг: 0 / 0
23.01.2014, 20:56
    #38536076
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
Парни, у вас дискуссия не в ту сторону пошла.

Основная часть работы - это слой доступа к данным: единый интерфейс шлюза (gateway) к поставщикам квот и N реализаций, где N - это количество различных типов поставщиков.
N мапперов из формата поставщика в формат проприетарного софта заказчика.
Диспетчер, что будет опрашивать M источников данных (конечных точек), и его конфигурация. M больше или равно N, так как у разных партнёров может стоять одинаковый софт.
Логирование всего этого.
GUI для просмотра результатов и управления всем этим хозяйтсвом пользователем (опционально).
Тестирование.

А куда это вкорячить: в windows-сервис, в планировщиу, в кварц, интегрировать в проприетарный софт в качетве плагина, - это уже гораздо меньший объём работ.
...
Рейтинг: 0 / 0
23.01.2014, 20:58
    #38536079
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
Хотя можно всё это дело по быстрому на коленке по коду сервиса размазать
...
Рейтинг: 0 / 0
23.01.2014, 22:43
    #38536135
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
МСУХорошая, но бесполезная - всё есть в коробке.

не бывает таких коробок ))

skyANAА куда это вкорячить: в windows-сервис, в планировщиу, в кварц, интегрировать в проприетарный софт в качетве плагина, - это уже гораздо меньший объём работ.

действительно. для начала надо реализовать задачу в виде модуля. а уж обёртку для него написать в виде консольки или сервиса, это задача на 3 копейки. интересно, что всё почему-то упёрлось в обёртку. это как про бизнес, который почему-то часто начинается с визиток
...
Рейтинг: 0 / 0
23.01.2014, 23:27
    #38536165
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
hVosttне бывает таких коробок ))
Бывает. Вот )

...
Рейтинг: 0 / 0
24.01.2014, 10:09
    #38536360
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как опрашивать веб сервис по расписанию?
МСУБывает. Вот )

планирощик заданий в виндовс предназначен для обслуживания системы .
не для выполнения прикладных задач.

что, конечно, никого особо не напрягает
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как опрашивать веб сервис по расписанию? / 25 сообщений из 72, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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