Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как задержать выполнение шага в задании до окончания предыдущего с CmdExec / 25 сообщений из 27, страница 1 из 2
25.07.2018, 13:01
    #39678861
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Здравствуйте!

У меня создано задание из двух шагов, на первом запускается некая exe-программа и формирует файл. На втором - процедура сервера его обрабатывает.
Однако второй шаг начинает выполняться, не дожидаясь окончания работы программы на первом шаге, и ,естественно, сразу безрезультатно заканчивается, не увидев ещё формирующийся файл.
Подскажите, пожалуйста, что надо сделать, чтобы второй шаг начал выполняться после полного окончания предыдущего.
...
Рейтинг: 0 / 0
25.07.2018, 13:30
    #39678890
StarikNavy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyL,

первый шаг запускает процедуру, которая запускает что-то и ждет ответа от этого чего-то
...
Рейтинг: 0 / 0
25.07.2018, 13:55
    #39678919
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
StarikNavy, скачивает файл с сайта. И вот пока она его скачивает и находится в диспетчере задач, не хотелось бы, чтобы 2-й шаг начинался.
...
Рейтинг: 0 / 0
25.07.2018, 14:04
    #39678925
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyLУ меня создано задание из двух шагов, на первом запускается некая exe-программа и формирует файл. На втором - процедура сервера его обрабатывает.
Однако второй шаг начинает выполняться, не дожидаясь окончания работы программы на первом шаге, и ,естественно, сразу безрезультатно заканчивается, не увидев ещё формирующийся файл.
Подскажите, пожалуйста, что надо сделать, чтобы второй шаг начал выполняться после полного окончания предыдущего.

Что за чудеса глаголите?
Никогда шаг job-а не запускается ДО завершения текущего.
Протрите глаза.
...
Рейтинг: 0 / 0
25.07.2018, 14:15
    #39678932
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyLУ меня создано задание из двух шагов, на первом запускается некая exe-программа и формирует файл. На втором - процедура сервера его обрабатывает.
Однако второй шаг начинает выполняться, не дожидаясь окончания работы программы на первом шаге, и ,естественно, сразу безрезультатно заканчивается, не увидев ещё формирующийся файл.Когда запускаете эту "некая exe-программа" ил cmd, она сразу завершает выполнение, до окончания копирования файла?
...
Рейтинг: 0 / 0
25.07.2018, 14:24
    #39678935
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Да. Вот журнал. Пишет, что выполнился за секунду, хотя файл копируется минут 10. И сразу запускается 2-й шаг.
...
Рейтинг: 0 / 0
25.07.2018, 14:34
    #39678943
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Программа продолжает выполняться. Она скачивает файл, затем его разархивирует. И всё это время её видно в диспетчере задач как выполняющуюся.
...
Рейтинг: 0 / 0
25.07.2018, 14:38
    #39678951
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
вызываете эту вашу программу через батник методом call my.exe? тогда очевидно
...
Рейтинг: 0 / 0
25.07.2018, 14:39
    #39678953
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyLПрограмма продолжает выполняться. Она скачивает файл, затем его разархивирует. И всё это время её видно в диспетчере задач как выполняющуюся.

Осталось показать код запуска.
...
Рейтинг: 0 / 0
25.07.2018, 14:48
    #39678959
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Вот так. Никакого специального кода завершения, случайно, указывать не надо?
...
Рейтинг: 0 / 0
25.07.2018, 14:59
    #39678976
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyL,

а в "Дополнительно" что задано?
...
Рейтинг: 0 / 0
25.07.2018, 15:03
    #39678983
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Так, ничего особенного...
...
Рейтинг: 0 / 0
25.07.2018, 15:34
    #39679016
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyL,

вообще прикольная тема - научить сервер баз данных забивать гвозди и варить суп.
Создйте отдельное приложение для загрузки или используйте SSIS пакет.
...
Рейтинг: 0 / 0
25.07.2018, 15:50
    #39679042
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyLТак, ничего особенного...

попробуйте в качестве эксперимента заменить вызов вашей программы на следующее:
Код: plaintext
ping localhost -n 30
если второй шаг будет ждать окончания первого, то проблема в вашем приложении

в качестве решения можно предложить вставку промежуточного шага, который циклически будет проверять наличие файла в папке, если файл там появится, то выход из цикла

папка, разумеется, должна быть отдельная, куда файл должен будет копироваться/перемещаться после скачивания
...
Рейтинг: 0 / 0
25.07.2018, 15:51
    #39679043
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Дорогой товарищ, я создал отдельное приложение для одной загрузки и процедуру для другой загрузки. Не подскажете, может ли задание, предусматривающее в своих шагах запуск exe-файлов и сценариев T-SQL, выполнять эти шаги последовательно, каждый после завершения предыдущего, какого бы вида он ни был?
...
Рейтинг: 0 / 0
25.07.2018, 15:54
    #39679047
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyLДорогой товарищ, я создал отдельное приложение для одной загрузки и процедуру для другой загрузки. Не подскажете, может ли задание, предусматривающее в своих шагах запуск exe-файлов и сценариев T-SQL, выполнять эти шаги последовательно, каждый после завершения предыдущего, какого бы вида он ни был?

подскажу : может, и оно так именно и работает - по шагам, по очередности

вы попробовали джоб с пингом ?
...
Рейтинг: 0 / 0
25.07.2018, 15:55
    #39679051
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyLДорогой товарищ, я создал отдельное приложение для одной загрузки и процедуру для другой загрузки. Не подскажете, может ли задание, предусматривающее в своих шагах запуск exe-файлов и сценариев T-SQL, выполнять эти шаги последовательно, каждый после завершения предыдущего, какого бы вида он ни был?Т.е. может ли сервер контролировать ваше левое приложение на предмет того, не запускаете ли это приложение какие-то асинхронные процессы и не завершает ли вы ваше приложение свое выполнение до того, как эти процессы отработают? Нет, не может. Не изобретайте велосипедов, и не будет у вас боли от езды на них.
...
Рейтинг: 0 / 0
25.07.2018, 15:59
    #39679055
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
komrad, это я Владиславу написал.
Попробую ping, но к ресурсу может не быть доступа, тогда файла никогда не будет
...
Рейтинг: 0 / 0
25.07.2018, 15:59
    #39679056
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Гавриленко Сергей АлексеевичТ.е. может ли сервер контролировать ваше левое приложение на предмет того, не запускает ли это приложение какие-то асинхронные процессы и не завершает ли вы ваше приложение свое выполнение до того, как эти процессы отработают?
+1

странно, что такой прекрасный самопис не нравится сиквелу ;)
...
Рейтинг: 0 / 0
25.07.2018, 16:03
    #39679064
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Гавриленко Сергей Алексеевич, все процессы правые и запускаются через RunAndWait. Написал же, что 2-й шаг начинается до того, как приложение на 1-ом закончит свою работу и исчезнет из диспетчера задач.
Если такое сочетание типов процессов в шагах недопустимо, я изобрету что-нибудь другое.
...
Рейтинг: 0 / 0
25.07.2018, 16:12
    #39679080
Col
Col
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyL
Сделайте для второго шага отдельный Job и запускайте его из цомандной строки, после выполнения первого кода.
Примерно вот так:

set path=C:\Program Files\Microsoft SQL Server\90\tools\binn\;%PATH%

echo Starting MY ETL > my.log

sqlcmd.exe -S "myserver" -Q "execute msdb.dbo.sp_start_job @job_name = 'myjob' " >> my.log
...
Рейтинг: 0 / 0
25.07.2018, 16:27
    #39679100
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyL,

теперь настройте Планировщик Windows на запуск приложения. Приложение загрузит данные, произведет загрузку данных на сервер и выполнит процедуру обработки данных.
...
Рейтинг: 0 / 0
25.07.2018, 17:31
    #39679173
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
ArkadyLОднако второй шаг начинает выполняться, не дожидаясь окончания работы программы на первом шаге, и ,естественно, сразу безрезультатно заканчивается, не увидев ещё формирующийся файл.Может быть нужно в шаге запускать не сам .exe, а через какого-то из них:
start /wait
cmd
...
Рейтинг: 0 / 0
25.07.2018, 18:39
    #39679222
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
Как много ценных советов.
Проще надо.

1. Запустите вашу прогу врукопашную
2. и посмотрите "воотчуюю" и в диспетчере задач: когда ж она заканчивает работу?
...
Рейтинг: 0 / 0
25.07.2018, 18:55
    #39679235
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
aleks222Как много ценных советов.
Проще надо.

1. Запустите вашу прогу врукопашную
2. и посмотрите "воотчуюю" и в диспетчере задач: когда ж она заканчивает работу?Желательно еще под учетной записью агента.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как задержать выполнение шага в задании до окончания предыдущего с CmdExec / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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