|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
|
Повторный запуск08.02.2017, 14:36. Показов 4845. Ответов 6
Метки нет (Все метки)
На работе создал скрипт-программу backup.ps1 которая бекапит базу пользователей каждые 30 минут, выполняет некоторые обработки и сохраняет архив.
Скрипт стартует через планировщик. Но иногда скрипт не успевает отработать в течении 30 минут и в это время старует вторая копия из-за чего случаются конфликты . Как сделать запрет на повторный запуск скрипта пока не отработает первая копия?
0
|
|
| 08.02.2017, 14:36 | |
|
Ответы с готовыми решениями:
6
Повторный запуск приложения Повторный запуск цикла
|
|
0 / 0 / 0
Регистрация: 05.02.2017
Сообщений: 21
|
|
| 08.02.2017, 16:25 | |
|
Думаю проще всего сделать проверку запущенного сервиса powershell
$powershell = Get-Process -name powershell -ErrorAction SilentlyContinue if ($powershell -eq $null) { запуск скрипта } Если скрипт еще не отработал той второй просто не запускается, и ждет еще пол часа. Но это если ты не запускаешь powershell для каких либо других целей .
0
|
|
|
|
|||||||||||
| 09.02.2017, 10:23 | |||||||||||
|
psysanchez, Ага, а второй раз скрипт типа не в powershell запускается.
Ваш вариант никогда $null не возвратит.
В начале скрипта вставить.
0
|
|||||||||||
|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
||||||
| 09.02.2017, 14:26 [ТС] | ||||||
|
а что думаете по поводу такой конструкции ?
0
|
||||||
|
|
|
| 09.02.2017, 15:30 | |
|
Victoros6666, Это вы куда-то не туда направили ход мыслей.
Мьютексы, семафоры, события - это средства синхронизации ПОТОКОВ. Ваша же тема рассматривается в разрезе процессов, а не потоков. То что вы хотите реализовать, успешно реализовано, скажем в windows media player, который является примером использования принудительного использования единственного экземпляра. Только вот сделано, это на уровне кода приложения по средствам BaseNamedObjects или именованных объектов.
0
|
|
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
|
| 09.02.2017, 15:37 | |
|
Если сценарий заведомо может работать более получаса, не проще ли "заставить" сценарий самостоятельно задавать следующее время создания резервной копии?! Допустим, 11:00 начинается резервное копирование, оно длится 42 минуты с копейками; копирование завершилось, создаем единоразовое задание в планировщике с добавлением к текущему времени тридцати минут... - цикл повторяется до окончания рабочего времени, т.е. если время планируемого бэкапа больше 17:00, устанавливаем время на следующее утро; если следующий день выходной, переносим задание на понедельник. Отслеживание появления еще одной копии хоста PS по большому счету дурная затея, ибо может потребоваться еще один хост для выполнения некой другой задачи, следовательно, это сродни охоте за призраками бутылочного горлышка.
0
|
|
|
0 / 0 / 1
Регистрация: 28.06.2016
Сообщений: 114
|
|
| 10.02.2017, 16:42 [ТС] | |
|
Вот допустим такая ситуация есть основной скрипт "programa.ps1" в котором запускается модуль1 через Runspace и уходит в отдельный поток.
Как в основной программе-скрипте "programa.ps1" проверить работает ли данный модуль? если нет то заново его запустить. В повершел не нашел такого решения поэтому думал на каждой итерации основной программы пытаться запускать данный модуль спроверкой если он работает то не запускаем если нет стартуем. все что смог накопать это использование $mtx = New-Object System.Threading.Mutex
0
|
|
| 10.02.2017, 16:42 | |
|
Помогаю со студенческими работами здесь
7
Многопоточность и повторный запуск Повторный запуск потоков Предотвратить повторный запуск программы повторный запуск по крону с проверкой Запрет на повторный запуск программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|