Имя: Пароль:
1C
1С v8
Работа с фоновыми заданиями
,
0 FEAS
 
21.11.12
11:48
Я делаю выгрузку через регламентные задания (метод ВыгрузитьДанныеВExcel() ).

Мне нужно чтобы параллельно запустились 2 обработки выгрузки данных.

Я делаю так паралельно запускаю 2 фоновых задания , но все равно у меня обработки не работают параллельно,только друг за другом.
В консоли посмотрел запускаются фоновые в одно время а завершаются они в разное, так как вторая запускается позднее . Почему?

Процедура ВыгрузитьДанныеВExcel() Экспорт
   
   ФоновоеЗадание = ФоновыеЗадания.Выполнить("ДляВыгрузкиДанных.тест");
   
   ФоновоеЗадание = ФоновыеЗадания.Выполнить("ДляВыгрузкиДанных.тест2");
КонецПроцедуры


Процедура тест() Экспорт
   
   Обработка = Обработки.Выгрузка1.Создать();
   Обработка.ВыгрузитьДанные();  

КонецПроцедуры


Процедура тест2() Экспорт
     
   Обработка = Обработки.Выгрузка2.Создать();
   Обработка.ВыгрузитьДанные();      

КонецПроцедуры
1 vmv
 
21.11.12
11:51
(0) как запускаешь то?
2 vmv
 
21.11.12
11:53
противоречие детектед

Я делаю так паралельно запускаю 2 фоновых задания ...
так как вторая запускается позднее

автор аллогичный неадекват
3 пипец
 
21.11.12
11:55
видимо на одном компе дажи ;))
4 FEAS
 
21.11.12
13:06
они должны работать одновременно? чтобы не ждать друг друга
5 FEAS
 
21.11.12
13:52
кто знает? как распараллелить выполнение 2 обработок?
6 Hmster
 
21.11.12
13:57
они выполняются параллельно но наверное не так как ты себе представляешь параллельность
7 FEAS
 
21.11.12
13:59
2 обработки одновременно работающие запустить нельзя?
8 FEAS
 
21.11.12
14:15
У меня одна обработка работает 10 мин и вторая тоже. Можно как то сделать чтобы запускались они одновременно и закончили примерно  в одно и тоже время. а не 20 минут
9 hhhh
 
21.11.12
14:19
(8) руки оторвать пареньку, который пишет обработки на 10 минут, не пробовали?
10 FEAS
 
21.11.12
14:22
если не знаете не говорите. если надо выгружать данные в файла в ексель файлом может бть много.
11 FEAS
 
21.11.12
14:56
кто может сказать это возможно или нет?
12 Serginio1
 
21.11.12
15:04
(0) А как ты определяешь, что они запущены не одновременно?
Проверь через обработку ожидания
ФоновоеЗадание = ФоновыеЗадания.Выполнить("ДляВыгрузкиДанных.тест");
   
   ФоновоеЗадание2 = ФоновыеЗадания.Выполнить("ДляВыгрузкиДанных.тест2");
у ФоновоеЗадание и ФоновоеЗадание2 свойства состояние и начало
13 FEAS
 
21.11.12
15:10
В консоли заданий пишет начало примерно одинаковое и состояние выполняется. Но почему то файлы которые записывает вторая обработка в папках не появляются , только от первой и тольо потом как отработает полностью первая только потом начинают записываться.
14 FEAS
 
21.11.12
15:11
вот это меня и смущает запускаются одновременно но не отрабатывают вместе
15 FEAS
 
21.11.12
15:25
получается фоновые задания работают- запущены, но обработки вместе не работают что не так делаю?
16 Лефмихалыч
 
21.11.12
15:27
(0) хочешь натравить обработки на один и тот же ресурс и посмотреть - кто кого?
17 FEAS
 
21.11.12
15:29
не понял вопроса?
18 FEAS
 
21.11.12
15:33
Я хочу чтобы они работали вместе, скорее всего так не получится. Но читал что можно запустить несколько заданий фоновых одновременно.
19 FEAS
 
21.11.12
15:33
параллельного вычисления не получится , пусть тогда будет последовательно
20 FEAS
 
21.11.12
15:34
просто не понятно что делает второе запущенное фоновое задание кто подскажет
21 motkot
 
21.11.12
15:51
(0) а БД файловая?
22 FEAS
 
21.11.12
15:53
да БД файловая
23 motkot
 
21.11.12
15:54
(22) попробуй тоже самое на клиент-серверной архитектуре
24 FEAS
 
21.11.12
15:55
а на файловой не прокатит?
25 motkot
 
21.11.12
16:00
(24) параллельно нет
26 FEAS
 
21.11.12
16:01
а почему второе фон. задание  пишет что выполняется что оно делает? ожидает выполнение первого? А кл-сервер там должно работать?
27 motkot
 
21.11.12
16:04
(26) ну не умеет один сеанс, который выполняет код (выполнение обработки фоновых заданий), выполнять его параллельно. Клиент-сервер умеет, там под каждое фоновое отдельный сеанс создается.
28 FEAS
 
21.11.12
16:07
Спасибо понятно. Просто когда читал там говорилось что разница только в том что в файловой это выполняет отдельный сеанс (как у меня сделано), а в кл серверном сервер фоновых заданий.
29 FEAS
 
21.11.12
16:44
Если они выполняются последовательно всеже как лучше сделать? или безразницы?
Процедура ВыгрузитьДанныеВExcel() Экспорт
   
   ФоновоеЗадание = ФоновыеЗадания.Выполнить("ДляВыгрузкиДанных.тест");
   
   ФоновоеЗадание = ФоновыеЗадания.Выполнить("ДляВыгрузкиДанных.тест2");
КонецПроцедуры

Или

В рамках одного фонового задания выполнять обработки

Процедура ВыгрузитьДанныеВExcel() Экспорт
   
   Обработка = Обработки.Выгрузка1.Создать();
   Обработка.ВыгрузитьДанные();  

   Обработка2 = Обработки.Выгрузка2.Создать();
   Обработка2.ВыгрузитьДанные();  


КонецПроцедуры
AdBlock убивает бесплатный контент. 1Сергей