Версия для печати темы (https://pro1c.org.ua/index.php?s=980b2a0d60b9f99ee1f1fd9f86657437&showtopic=43506)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Фоновые задания в файловом варианте
Автор: kosalex 21.01.18, 3:01
Доброго времени суток! Запускаю два фоновых задания. В одном идет обращение к РС и анализ. В другом обращение к другому РС и анализ. Все процедуры разнесены по двум разным общим модулям. Т.е. одно задание не использует процедуры второго. Когда смотрю в консоль заданий, то вижу что при одновременном запуске двух фоновых заданий время выполнения заданий зависит не от каждого по отдельности, а от самого долгого.
Допустим запускаю ФоновоеЗадание1 оно по времени длиться где то мин 10. А ФоновоеЗадание2 по времени длиться где то мин 3. Но они завершаться тогда когда выполниться ФоновоеЗадание1. Они же ведь запускаются в разных сеансах...как так получается? и как сделать чтобы процессы были разделены и выполнялись каждый сколько ему требуется?
Автор: logist 21.01.18, 13:36
Цитата(kosalex @ 21.01.18, 3:01)
ФоновоеЗадание1 оно по времени длиться где то мин 10. А ФоновоеЗадание2 по времени длиться где то мин 3.
Если вы знаете эти цифры, то забейте на консоль, возможно она в файловом варианте дает не корректное время.
Цитата(kosalex @ 21.01.18, 3:01)
Они же ведь запускаются в разных сеансах...
По журналу регистрации видно что в разных?
Автор: kosalex 21.01.18, 14:41
logist @ Сегодня, 13:36
,
Цитата(logist @ 21.01.18, 13:36)
По журналу регистрации видно что в разных?
Да, например идет ФоновоеЗадание1 - Сеанс = 123, следом записи ФоновоеЗадание2 - Сеанс = 124;
Автор: logist 21.01.18, 18:56
Цитата(kosalex @ 21.01.18, 14:41)
ФоновоеЗадание1 - Сеанс = 123, следом записи ФоновоеЗадание2 - Сеанс = 124;
по журналу у них завершение сеанса в одно время как в консоли, или в разное?
Автор: kosalex 22.01.18, 2:46
logist @ Вчера, 18:56
,
Дело не только во времени завершении, а в том что пока не закончиться ФоновоЗадание1, не идет процесс ФоновоеЗадание2 даже если оно запущено. Т.е. они как бы взаимосвязаны для компилятора что ли... пока не завершиться ФоновоеЗадание1, процедуры в ФоновомЗадание2 не выполняются...
И в журнале тоже, пока не завершаются процедуры в ФоновоеЗадание1, не видно что запущены процедуры из ФоновоеЗадание2
Но в журнале видно что ФоновоеЗадание2 было вызвано,оно отработало и завершилось, а вот в обработке фоновых заданий оно "выполняется", наверное по этому больше ФоновоеЗадание2 не вызывается, так как стоит проверка не вызывать если "выполняется".
Опишу цикл:
Процедура Запуск()
Если ФоновоеЗадание2 = Неопределено Тогда
ФоновоеЗадание2();
КонецЕсли;
Если нуженАнализ Тогда
ФоновоеЗадание1();
КонецЕсли;
КонецПроцедуры
Все работает как часы, пока в нужный момент не стартует ФоновоеЗадание1, после его старта когда запускается ФоновоеЗадание2, оно находится в состоянии "выполняется" пока не завершиться выполнение ФоновоеЗадание1
Что делать в такой ситуации?
Автор: logist 22.01.18, 2:48
Цитата(kosalex @ 22.01.18, 2:27)
а в том что пока не закончиться ФоновоЗадание1, не идет процесс ФоновоеЗадание2
Только сейчас стало понятно в чем проблема... В файловом варианте фоновые задания запущенные одним приложением выполняются последовательно по мере их инициализации.
Цитата(kosalex @ 22.01.18, 2:27)
Т.е. они как бы взаимосвязаны для компилятора что ли...
Вы слишком хорошего мнения о компиляторе, которого на самом деле не существует
Цитата(kosalex @ 21.01.18, 3:01)
Все процедуры разнесены по двум разным общим модулям. Т.е. одно задание не использует процедуры второго.
Поэтому, это совсем бесполезное решение
Автор: kosalex 22.01.18, 2:52
Цитата(logist @ 22.01.18, 2:48)
Только сейчас стало понятно в чем проблема... В файловом варианте фоновые задания запущенные одним приложением выполняются последовательно по мере их инициализации.
если будет серверный вариант, то будет всё работать как нужно?) или на серверном обязательно регламентные задания?
Автор: logist 22.01.18, 2:57
Цитата(kosalex @ 22.01.18, 2:52)
или на серверном обязательно регламентные задания?
Не понял...
Цитата(kosalex @ 22.01.18, 2:52)
будет всё работать как нужно?)
а как нужно?
Автор: kosalex 22.01.18, 2:59
Цитата(logist @ 22.01.18, 2:57)
Не понял...
создавать регламентные задания как объекты конфигурации ?
Цитата(logist @ 22.01.18, 2:57)
а как нужно?
чтобы не последовательно по мере их инициализации
Автор: logist 22.01.18, 3:18
Цитата(kosalex @ 22.01.18, 2:59)
создавать регламентные задания как объекты конфигурации ?
Без разницы
Автор: Vofka 22.01.18, 9:10
А что это за консоль в файловом варианте есть?
Автор: kosalex 22.01.18, 11:59
Vofka @ Сегодня, 9:10
,
не знаю, скачал
Цитата(logist @ 22.01.18, 3:18)
Без разницы
если будет серверный вариант, это поможет выполняться фоновым заданиям не последовательно по мере их инициализации?
Автор: logist 22.01.18, 13:55
Цитата(kosalex @ 22.01.18, 11:59)
если будет серверный вариант, это поможет выполняться фоновым заданиям не последовательно по мере их инициализации?
В серверном варианте фоновые (регламентные) задания выполняются независимо, каждое в своем процессе, остальные ваши условия без разницы.
Цитата(Vofka @ 22.01.18, 9:10)
А что это за консоль в файловом варианте есть?
Такая же как и в серверном, Консоль заданий
Автор: Vofka 22.01.18, 14:04
Цитата(logist @ 22.01.18, 13:55)
Такая же как и в серверном, Консоль заданий
А, понял. Думал что-то похожее на консоль сервера.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua