Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Бесконечный цикл vs запуск джоба по расписанию  [new]
bacalavr
Member

Откуда:
Сообщений: 311
Есть определенный набор регламентных процедур по закачке данных из других систем. Сейчас это реализовано в виде джоба (без расписания), которых запускает процедуру, а в проце уже работает бесконечный цикл с waitfor for delay 'промежуток_времени'. В этом то цикле как раз и происходит набор данных.

Вопрос: есть ли у такого подхода какие-либо преимущества перед выполнением тех же работ, но по расписанию джоба. То есть запихнуть добычу (однократную!) данных в процедуру и ее дергать уже через нужный промежуток времени джобом.
27 мар 12, 16:41    [12321913]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
У нас так же: процессинг на бесконечных джобах.
27 мар 12, 16:43    [12321932]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
bacalavr
Member

Откуда:
Сообщений: 311
Гавриленко Сергей Алексеевич,

это, конечно, говорит в пользу данного подхода =)
но все-таки, чем он лучше/удобнее/практичнее?



для образования, так сказать
27 мар 12, 16:47    [12321958]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
SandroL
Member

Откуда:
Сообщений: 41
на мой взгляд, когда необходимо данные опрашивать каждые 5-10 секунд на предмет обновления/дополнения, логичнее установить коннекшен и в рамках него это делать, а не коннектиться каждый раз.
27 мар 12, 16:49    [12321978]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
bacalavr
Гавриленко Сергей Алексеевич,

это, конечно, говорит в пользу данного подхода =)
но все-таки, чем он лучше/удобнее/практичнее?

для образования, так сказать
Ну не знаю, даже. Меньше записи в msdb о всяких запусках/остановках/изменении времени запуска следующего запуска джоба, особенно если отклик раз в секунду хочется обеспечивать.
27 мар 12, 16:50    [12321980]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
bacalavr
Member

Откуда:
Сообщений: 311
итог, пока что:

один явный плюс - при частом опросе такой подход выигрывает

что-то еще?
27 мар 12, 16:54    [12322025]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
bacalavr
итог, пока что:

один явный плюс - при частом опросе такой подход выигрывает

что-то еще?
Других нет, в остальном джоб лучше.
27 мар 12, 17:06    [12322111]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3752
Джобы имхо удобнее. И лог у них есть и расписание, и в целом порядок.
Да и вообще они для того и задуманы
27 мар 12, 17:06    [12322122]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
Ivan Durak
Джобы имхо удобнее. И лог у них есть и расписание, и в целом порядок.
Да и вообще они для того и задуманы
+1

И всё не остановится при одиночной ошибке, и письмецо можно отослать...

Единственный вариант использования цикла - если нужно часто выполнять.

Хотя у нас джоб работал раз в секунду и ничего, не жужжал.
27 мар 12, 18:38    [12322964]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Посмотрите на процедуру [sys].[sp_cdc_scan]. Один раз запустили джобом и она висит в бесконечном цикле.
27 мар 12, 20:49    [12323664]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Glory
Member

Откуда:
Сообщений: 104751
Проблема любого бесконечного цикла - это то, как проверить, работает ли цикл или давно завис.
27 мар 12, 23:47    [12324216]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
bacalavr
Member

Откуда:
Сообщений: 311
Glory,

проверить то как раз можно, по логам, которые он пишет
28 мар 12, 01:21    [12324413]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Glory
Проблема любого бесконечного цикла - это то, как проверить, работает ли цикл или давно завис.

Если из этого процесса писать скажем лог в таблицу, то активность можно легко проверить.
28 мар 12, 01:25    [12324416]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Glory
Member

Откуда:
Сообщений: 104751
bacalavr
проверить то как раз можно, по логам, которые он пишет

И что будет означать отсутствие в логе новых данных скажем за последний час ?
"Демон" процесс должен иметь интерфейс типа "пинг", отвечающий на запросы "живой\мертый"
28 мар 12, 01:27    [12324419]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mind
Если из этого процесса писать скажем лог в таблицу, то активность можно легко проверить.

Если это TSQL код, то там возможны транзакции, а значит лог-таблица будет в них участвовать.
Обходные же способы по реализации могут оказаться посложнее стандартного лога джобов.
Имхо.
28 мар 12, 01:31    [12324425]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Glory
Если это TSQL код, то там возможны транзакции, а значит лог-таблица будет в них участвовать.
Обходные же способы по реализации могут оказаться посложнее стандартного лога джобов.
Имхо.

Лог "живучести" можно вести и вне транзакции, скажем после каждой WAITFOR DELAY команды писать одну строку в лог, естественно безо всякой транзакции.
28 мар 12, 03:53    [12324510]     Ответить | Цитировать Сообщить модератору
 Re: Бесконечный цикл vs запуск джоба по расписанию  [new]
bacalavr
Member

Откуда:
Сообщений: 311
Mind,

примерно так и делается
28 мар 12, 07:35    [12324587]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить