v8: Может ли фоновое задание вернуть значение? #532178


#0 by pmb
Собственно как организовать сабж - программно создаю фоновое задание, нужно чтобы по завершению оно вернуло некотоый параметр. Собственно как это можно сделать?
#1 by pmb
В теме опечатка - ЗНАЧЕНИЕ
#2 by Дикообразко
что-что сделать? или это с кем сделать?
#3 by Дикообразко
с помощью флага :)
#4 by izekia
если такие вопросы, значит неправильно решение построено
#5 by pmb
решение построено правильно. Идет работа с веб-сервисами, которые иногда имеют возможность "подвисать", чтобы при этом не убивать весь сеанс пользователя хочу сделать это с помощью фоновых заданий. у фонового задания свой контекст? Т.е. только через объекты конфигурации получиться?
#6 by SalavatUlaev
Ну конечно это бред. ты бы еще результат сеанса работы одного пользователя возвращал новому сеансу другого пользователя. Только через внешние объекты, но это не решение для структур, которые обычно сопутсвуют web-сервисам. Хотя не понятно что у тебя подвисает, если ты публикуешь веб - сервис, он просто автоматически выполняется под своим пользователем, каждый раз, когда к нему обратяться, что за пользователя тебе надо сбрасывать непонятно. Или у тебя код написан в функции веб-сервиса, который подвисает, тогда вылавливай, где подвисает
#7 by pmb
Я подключаюсь к внешнему веб-сервису. При использовании его методов бывают ситуации когда при вызове метода он выполняется очень долго. Естественно при этом висит сеанс пользователя. по теме - в 8.1 и правда нельзя вернуть значение, только если пользоваться объектами конфигурации для передачи информации
#8 by pmb
инфа с партнерского форума
#9 by izekia
а от фонового задания ты куда хотел передать полученное значение?
#10 by pmb
в сеанс, откуда оно было запущено
#11 by izekia
куда именно в сеанс? то есть ты запускаешь фоновое задание, далее поток выполнения у тебя не прерывается, и кто будет получателем значения?
#12 by 5 Элемент
В 8.2 может
#13 by pmb
у фонового задания есть метод "ОжиданиеВызова"
#14 by pmb
туплю... ОжиданиеЗавершения Ожидать успешного завершения задания. Если задание завершено аварийно, ожидание прерывается и выдается ошибка выполнения задания. Если наступил таймаут, выдается ошибка ожидания задания. Ожидать завершения задания может только администратор или пользователь, запустивший задание.
#15 by 5 Элемент
+ см ПоместитьВоВременноеХранилище
#16 by izekia
каким образом?
#17 by izekia
да, ты прав а в сеансе проверить состояние фонового задания и при успешном выполнении забрать результат спасибо
#18 by 5 Элемент
Использование: Только чтение. Описание: Тип: СостояниеФоновогоЗадания. Состояние задания.
#19 by 5 Элемент
но чтобы это работало, судя по описанию, нужен УИ формы, а у тебя, как я понимаю, нет никакой формы.
#20 by izekia
ради такого случая можно и форму какую-нибудь повесить, в принципе вполне разумно, и пользователь будет видеть, что обрабатывается запрос
#21 by 5 Элемент
не получится. У тебя вот такая последовательность Пользователь(БД1) -> веб-сервис(БД2) -> фоновое задание(БД2) Проблема в том, что сервер 1С на котором выполняется, веб-сервис, не будет ничего знать о твоей форме.
#22 by izekia
погоди, это не моя задача, я не автор этой темы) и как я понял автор хотел вызывать сервис в фоновом задании, чтобы по завершении вызова он получал некоторые данные в текущий сеанс
#23 by 5 Элемент
А ну да :) Должно получиться
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С