Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Запуск регламентных заданий в фоновом режиме

Запуск регламентных заданий в фоновом режиме
Я
   DmitryR
 
20.01.21 - 11:38
Всем доброго дня, возможно ли запустить 1с в фоне и выполнить регламентное задание? Нашел следующий способ:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"путь к базе" /N"пользователь" /P"пароль" /RunModeManagedApplication /DisableStartupMessages /DisableStartupDialogs /Execute %StartRegl% /C bf8c4d66-efcd-4b33-af16-27c7dcead2be
В результате открывается 1с с ошибкой: Файл не обнаружен 'С:\С'. 2(0x00000002): Не удается найти указанный файл.
   ДенисЧ
 
1 - 20.01.21 - 11:41
А можно регламентное не в фоне запустить? Ну, без особых извратов...
   DmitryR
 
2 - 20.01.21 - 11:48
(1) Для начала можно и не в фоне, главное через cmd хоть какого результата добиться
   ДенисЧ
 
3 - 20.01.21 - 11:50
"/Execute %StartRegl%"

Это за НЕХ?
   DmitryR
 
4 - 20.01.21 - 11:56
(3) Не понял вопроса. Если что, то я не особо разбираюсь в запуске через cmd, просто искал примеры запуска, нашел только один и пытаюсь с ним работать. Уверенность есть только в путях, пользователе и id регламентного. Ну и от себя добавил запуск через толстый /RunModeManagedApplication. Остальное как было в примере.
   ДенисЧ
 
5 - 20.01.21 - 12:11
Я так понял... Ты нашёл какую-то строчку в интернете и пытаешься её запустить?
А если ты такую ссылку найдёшь https://hi-tech.mail.ru/news/52616-odna-strochka-lomaet-zhestkiy-disk-obnaruzhena-uyazvimost-windows-10/ ?
Тоже запустишь?
   Kassern
 
6 - 20.01.21 - 12:13
почитай тут, особенно про команду Execute 
http://catalog.mista.ru/public/104654/
   DmitryR
 
7 - 20.01.21 - 12:41
(5) По существу предложения будут?
   ДенисЧ
 
8 - 20.01.21 - 12:54
(7) Да. Сначала разобраться. А потом уже незнакомые команды запускать.
И ответить, хотя бы для себя, на вопрос из (3)
   fisher
 
9 - 20.01.21 - 12:57
(0) У тебя файловая, что ли? С какого-то там релиза ничего такого делать не надо. Оно само.
   ДенисЧ
 
10 - 20.01.21 - 12:58
(9) Не само. Нужен запущенный сеанс, в котором оно уже само...
   fisher
 
11 - 20.01.21 - 13:00
(0) Вообще, та строчка что ты нашел - это вообще попытка запуска внешней обработки при старте. К фоновым заданиям это отношения не имеет.
(10) Справедливо.
   Kassern
 
12 - 20.01.21 - 13:05
(11) А что мешает этой обработкой запустить регламентное задание?)
   DmitryR
 
13 - 20.01.21 - 13:06
(12) Ну если дельных предложений не поступит так и сделаю.
   fisher
 
14 - 20.01.21 - 13:07
(12) Которое вызовет внешнюю обработку?)
   fisher
 
15 - 20.01.21 - 13:08
(13) Ты бы проблему свою детальнее описал. Чем тебе не подходит стандартное регламентное задание с расписанием? Ты хочешь по событию извне запустить фоновое или чего?
   Kassern
 
16 - 20.01.21 - 13:10
(15) Вангую: скорее всего у него файловая база, а держать ее 24/7 запущенной он не хочет. Вот и хочет из командной строки запустить, что-то там обновить и закрыть.
   DmitryR
 
17 - 20.01.21 - 13:11
(16) Так и есть, только зачем ванговать если очевидно?
   fisher
 
18 - 20.01.21 - 13:13
(16) Фигасе ты Ванга. Был уверен, что дело в другом.
(17) Каждый сверчок уверен, что все думают о его шестке и поймут в пол-слова.
   Kassern
 
19 - 20.01.21 - 13:16
(17) как видишь, не для всех очевидно)
   fisher
 
20 - 20.01.21 - 13:16
То есть вся проблема в экономии лицензии, что ли? Так все равно не получится ее сэкономить. Если все будут заняты - доп-сеанс не стартанет.
   DmitryR
 
21 - 20.01.21 - 13:17
Детально: Планировщик запускает 1с в фоне и стартует регламентное, соответственно по расписанию идет обмен между базами, в конце дня этот сеанс убивается так же планировщиком. Далее попрошу если есть конкретные предложения, то предлагайте, а тешить свое чсв ступайте в другое место. Есть задача и сжатые сроки, иначе разобрался и сам и время было бы штудировать брошюрки.
   Kassern
 
22 - 20.01.21 - 13:19
(17) не забудь тогда флаг какой нить сделать в виде файла к примеру, о том отработала или нет обработка. Чтобы потом у тебя не было запущено +100500 процессов 1с, из-за того что зависла обработка, а твой шедулер упорно будет создавать новые процессы
   fisher
 
23 - 20.01.21 - 13:25
(21) Ну, я бы написал скрипт который периодически проверяет наличие сессий 1С (анализом каталога базы) и если сессий нет - запускает предопределенный сеанс. А если сессии есть - киляет предопределенный сеанс (если он есть). Но у тебя, как я понял по сабжу, проблема гораздо примитивней - у тебя не получается из командной строки вообще сеанс 1С запустить, так? Ну, просто выбрось все начиная с /Execute в сабжевой команде.
   fisher
 
24 - 20.01.21 - 13:27
Тебе же не надо внешнюю обработку запускать. Сеанс сам начнет обрабатывать регламенты, если он единственный.
   fisher
 
25 - 20.01.21 - 13:32
(22) Можно еще при старте 1С проверять, что если под этим предопределенным пользователем уже есть сеанс, то завершать работу. Это накладней, но 1С-нику это легче заскриптить чем внешнюю проверку.
   DmitryR
 
26 - 20.01.21 - 13:34
(25) Запущенных сеансов не будет т.к. старт 1 раз утром и кил процесса вечером.
   fisher
 
27 - 20.01.21 - 13:37
(26) Идея в том, чтобы чекать часто на тот случай, если процесс упадет среди дня.
   DmitryR
 
28 - 20.01.21 - 13:38
Значит следующим образом запускаю 1с и все ок 
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"путь" /N"пользователь" /P"пароль" /RunModeManagedApplication /DisableStartupMessages /DisableStartupDialogs
И внимание вопрос если Execute запускает только внешние обработки, то как запустить регламентное без ВО и возможно ли это? Собственно изначально вопрос был в этом, а мы ушли в другую степь)
   DmitryR
 
29 - 20.01.21 - 13:39
(27) Это потом) Пока нужно хотя бы стартануть
   fisher
 
30 - 20.01.21 - 13:40
(28) Только внешние. Про регламенты тебе уже отвечали. Не надо их принудительно запускать. Они будут обрабатываться автоматически одним из активных сеансов.
 
 Рекламное место пустует
   acht
 
31 - 20.01.21 - 13:44
(21) > и сжатые сроки, иначе разобрался и сам и время было
Ты на форуме уже два часа колупаешся, смотри - не успеешь.
   fisher
 
32 - 20.01.21 - 13:46
Если воткнуть /AllowExecuteScheduledJobs -Force
то регламенты будут выполняться на этом конкретном сеансе
   DmitryR
 
33 - 20.01.21 - 13:46
(30) В общем пришел к следующему. Запускать планировщиком 1с с внешней обработкой, которая будет запускать сценарий обмена без регламентного. Тема закрыта. Конкретно вам спасибо за помощь и предложения.
   DmitryR
 
34 - 20.01.21 - 13:48
(31) Пожалуйста покиньте ветку
   Aleksey
 
35 - 20.01.21 - 13:49
(28)
Я б добавил проверку файла в cmd
if exist = "d:\Obmen\*.xml" (
"C:\Program Files\1cv8\common\1cestart.exe Enterprise /F"путь" /N"пользователь" /P"пароль" /RunModeManagedApplication /DisableStartupMessages /DisableStartupDialogs /Execute"ПутьКОбработке\Обработка.epf" /C"Загрузка"
)

А уж в самой обработки прописал 
Если ПараметрЗапуска = "Загрузка" Тогда        
 ... пишем код по загрузки, ну или по запуску типовой процедуры
    ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;
   Aleksey
 
36 - 20.01.21 - 13:50
*в модули объекта самой обработки


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.