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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Запустите вашу прогу врукопашную
2. и посмотрите "воотчуюю" и в диспетчере задач: когда ж она заканчивает работу?Желательно еще под учетной записью агента.
...
Рейтинг: 0 / 0
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
    #39679466
ArkadyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad, да, ждёт 29 сек.

Ну разделю задание на 2 части, ничего страшного.
...
Рейтинг: 0 / 0
Как задержать выполнение шага в задании до окончания предыдущего с CmdExec
    #39679636
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArkadyLkomrad, да, ждёт 29 сек.

Ну разделю задание на 2 части, ничего страшного.

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

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


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