AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.07.2008, 16:58   #1  
Guest1234 is offline
Guest1234
Участник
 
8 / 10 (1) +
Регистрация: 25.06.2008
Angry
Уважаемые разработчики!
В Навижн SQL запущен диспетчер заданий, должны запускаться два задания. Одно пишет текущее время и некоторые другие данные в некую табличку, другое, на эти данные ориентируясь, производит некотоые действия в базе. Саму эту табличку это второе задание уже никак не меняет, только читает ее. Правлиьно ли я понимаю, что задания должны работать параллельно, не мешая друг другу?
Так вот, пока работает второе задание, первое почему-то не работает, нужные данные второе задание из таблички не получает, и, соответственно, работает неверно.
В чем может быть причина?
Старый 03.07.2008, 12:36   #2  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
Цитата:
Сообщение от Guest1234 Посмотреть сообщение
Уважаемые разработчики!
В Навижн SQL запущен диспетчер заданий, должны запускаться два задания. Одно пишет текущее время и некоторые другие данные в некую табличку, другое, на эти данные ориентируясь, производит некотоые действия в базе. Саму эту табличку это второе задание уже никак не меняет, только читает ее. Правлиьно ли я понимаю, что задания должны работать параллельно, не мешая друг другу?
Так вот, пока работает второе задание, первое почему-то не работает, нужные данные второе задание из таблички не получает, и, соответственно, работает неверно.
В чем может быть причина?

А первое задание, если его запустить отдельно от второго, срабатывает?
Старый 03.07.2008, 14:12   #3  
Guest1234 is offline
Guest1234
Участник
 
8 / 10 (1) +
Регистрация: 25.06.2008
Да, отдельно оно работает как часы
Старый 03.07.2008, 14:40   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Я что-то путаю или вы задаавли схожий вопрос по прерыванию пользователем пакетного задания?
Старый 03.07.2008, 14:40   #5  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
Цитата:
Сообщение от Guest1234 Посмотреть сообщение
Да, отдельно оно работает как часы
А если сделать так, чтобы сначало отрабатывало первое задание, а после запускалось второе.
Если они сейчас запускаются в один момент.
Старый 03.07.2008, 14:50   #6  
Guest1234 is offline
Guest1234
Участник
 
8 / 10 (1) +
Регистрация: 25.06.2008
Fordewind - да, вопрос был, и посоветованная Вами SELECTLATESTVERSION спасла полжение, но здесь не помогает, увы.

lobster - последовательно и единожды запустить их нельзя, т.к. первое должно писать периодически, а второе - проверять
Старый 03.07.2008, 15:10   #7  
prefreitor is offline
prefreitor
Участник
 
214 / 11 (1) +
Регистрация: 03.10.2006
Цитата:
Сообщение от Guest1234 Посмотреть сообщение
Уважаемые разработчики!
Так вот, пока работает второе задание, первое почему-то не работает, нужные данные второе задание из таблички не получает, и, соответственно, работает неверно.
В чем может быть причина?
А COMMIT в первом задании присутствует?
Старый 03.07.2008, 15:31   #8  
Guest1234 is offline
Guest1234
Участник
 
8 / 10 (1) +
Регистрация: 25.06.2008
Commit присутствует.
Вообще суть задачм вот в чем. Опишу, может, кто-то посоветует другое решение.
Некие действия должны в БД выполняться периодически, вот второе задание эти действия и крутит. Но довольно часто падает сервер, все вылетает и нужно отследить время падения и при восстановлении сервера чтобы автоматом опять начался процесс. Первое задание призвано это отслеживать. В спец.табличку каждые 5 мин (условно, может быть и др.промежуток) пишется тек. время и дата. После падения сервера, ессно, все останавливается, а после его перезагрузки интервал уже больше 5 минут. Первое задание проверяет разницу текущего time и последнего записанного, и , если она больше пяти минут, значит, происходил сбой сервера. НУ и дальше выполняютя нужные нам действия первым заданием.
Может, кто-то знает другие способы решения?
Старый 03.07.2008, 18:03   #9  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Guest1234 Посмотреть сообщение
Commit присутствует.
Вообще суть задачм вот в чем. Опишу, может, кто-то посоветует другое решение.
Некие действия должны в БД выполняться периодически, вот второе задание эти действия и крутит. Но довольно часто падает сервер, все вылетает и нужно отследить время падения и при восстановлении сервера чтобы автоматом опять начался процесс. Первое задание призвано это отслеживать. В спец.табличку каждые 5 мин (условно, может быть и др.промежуток) пишется тек. время и дата. После падения сервера, ессно, все останавливается, а после его перезагрузки интервал уже больше 5 минут. Первое задание проверяет разницу текущего time и последнего записанного, и , если она больше пяти минут, значит, происходил сбой сервера. НУ и дальше выполняютя нужные нам действия первым заданием.
Может, кто-то знает другие способы решения?
Я бы использовал одно задание, которое после отработки (изменений всяческих в БД) писало бы в спец. таблицу время завершения, а в начале проверяла бы разницу этого времени и текущего. Соответсвенно, если дельта больше некого значения, то идет отработка пакетника

Если только интервал выполения задания не больше времени повтора запуска пакетника на отработку. В этом случае писал бы еще и начальное время.
И все это разумеется без COMMIT'ов

P.S. Падающий сервер - жесть
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:37.