Версия для печати темы (https://pro1c.org.ua/index.php?s=432295bebd1171f5fcf4e32053a719a5&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) *
Т.е. они как бы взаимосвязаны для компилятора что ли...

Вы слишком хорошего мнения о компиляторе, которого на самом деле не существует smile.gif

Цитата(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) *
Такая же как и в серверном, Консоль заданий

А, понял. Думал что-то похожее на консоль сервера. smile.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua