1. dmt 44 15.04.16 11:19 Сейчас в теме

Мобильное приложение. Фоновые задания нормально работают?

А то, у меня как-то через раз. Совсем уж в фоне. Минут через 10...

Вызываю фоновое задание. Тишина.
Вызываю фоновое задание. Тишина.
Вызываю фоновое задание. Тишина.

Опа. Через 10 минут они выполнились... Всей пачкой.
Ответы
Избранное Подписка Сортировка: Древо
2. flyer 207 15.04.16 12:54 Сейчас в теме
(1) dmt, код скиньте примера как делаете глянем
9. dmt 44 18.04.16 07:31 Сейчас в теме
(2) flyer, как-то так:

Процедура ОбновитьОстаткиИЦеныНаСервере(Товар, ИмяПроцедуры, УИДЗадания)
	
	ТекстОшибки = "";
	
	МассивПараметров = Новый Массив;
	МассивПараметров.Добавить(ТекстОшибки);
	МассивПараметров.Добавить(Товар);
	
	ФоновыеЗадания.Выполнить(ИмяПроцедуры, МассивПараметров, УИДЗадания, "Получение данных через фоновое задание");
	
КонецПроцедуры

&НаКлиенте
Процедура ОбновитьОстаткиИЦены(Команда)
	
	Сообщить("Обновление данных по группе " + Элементы.ТоварыГруппы.ТекущаяСтрока);
	
	ИмяПроцедуры = "Общий.ВыполнитьОбменДанными";
	УИДЗадания = Новый УникальныйИдентификатор;
	 ПодключитьОбработчикОжидания("ОбработчикОжидания_СообщенияПользователю", 1, Ложь);	
	ОбновитьОстаткиИЦеныНаСервере(Элементы.ТоварыГруппы.ТекущаяСтрока, ИмяПроцедуры, УИДЗадания);
	
КонецПроцедуры

&НаСервере
Функция ПолучитьСообщенияИзФоновогоЗадания()
	
    СтруктураОтбора = Новый Структура;
    СтруктураОтбора.Вставить("ИмяМетода",    Параметры.ИмяПроцедуры);
    СтруктураОтбора.Вставить("Ключ",        Параметры.УИДЗадания);
    
    МассивЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(СтруктураОтбора);
    
    Если МассивЗаданий.Количество() Тогда
        
        ТекЗадание = МассивЗаданий[0];
		
		Ответ = Новый Структура;
		Если Не ТекЗадание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
			Ответ.Вставить("Результат", "финиш");
		Иначе        
			Ответ.Вставить("Результат", "Сообщение");
		КонецЕсли;
		
		ТекСообщение = ТекЗадание.ПолучитьСообщенияПользователю(Истина);
		Ответ.Вставить("Сообщение", ТекСообщение);		
		
		Возврат Ответ;
        
    КонецЕсли;
	
КонецФункции


// Обработчик загрузки данных
&НаКлиенте
Процедура ОбработчикОжидания_СообщенияПользователю() Экспорт 
	
	Ответ = ПолучитьСообщенияИзФоновогоЗадания();
	
	МассивСообщений = Ответ.Сообщение;
	Если МассивСообщений.Количество() > 0 Тогда
		
		ОчиститьСообщения();
		ТекстСообщения = "Загрузка данных";
		ТекстСообщения = ТекстСообщения + Символы.ПС + МассивСообщений[МассивСообщений.Количество() - 1].Текст;
		Сообщить(ТекстСообщения);
		
	КонецЕсли;
	
	Если Ответ.Результат = "финиш" Тогда
		
		ОчиститьСообщения();
		Сообщить("Загрузка данных завершена");
		
		ОтключитьОбработчикОжидания("ОбработчикОжидания_СообщенияПользователю");
		
	КонецЕсли;    
    
КонецПроцедуры // ОбработчикОжидания_СообщенияПользователю
Показать


В процедуре ВыполнитьОбменДанными, выполняется http запрос к основной базе и в цикле пишутся данные.
В этом же цикле заполняется СообщениеПользователю:
СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = "Загружено " + ПроцентЗагрузки + " процентов";
СообщениеПользователю.Сообщить();
3. dj_serega 359 15.04.16 13:11 Сейчас в теме
(1) dmt, на 8.3.8 иногда фоновое запускается около минуты. Других "фич" не замечал. Все работает стабильно.
4. Xershi 415 15.04.16 13:25 Сейчас в теме
(3) dj_serega, после запуска системы через минуту, читал где-то.
dj_serega; +1 Ответить
5. dj_serega 359 15.04.16 13:45 Сейчас в теме
(4) Xershi, Хм... может быть. Когда тестировал то после запуска в течении 10 секунд пытался запустить обмен. Который около минуты идет. Все последующие были без ожидания.

Спасибо.
6. flyer 207 15.04.16 13:48 Сейчас в теме
вот вы шустрые уже 8.3.8 тестируют
dj_serega; +1 Ответить
7. Xershi 415 15.04.16 15:26 Сейчас в теме
(6) flyer, скачал поставил запустил. Это же не рабочий сервер переводить же, всегда можно на файловой или тестовом сервере побаловаться.
8. dj_serega 359 15.04.16 16:22 Сейчас в теме
(6) flyer, А что там тестировать, уже в рабочем режиме :)
Разработка на 1С:Предприятие 8.3 (8.3.8.1502)
Сборщик: MobileAppMaker_8.3.8.46
10. SyachinS 11.01.17 20:28 Сейчас в теме
Версия 8.3.9.74, первое фоновое задание запускается сразу и отрабатывает как надо, последующее тормозит примерно на 30 секунд и потом приложение вылетает, есть какой то способ это вылечить или нужно пока отказываться от фонового обмена данными?
11. flyer 207 11.01.17 20:34 Сейчас в теме
а на 8.3.8 нормально работает?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
По совместительству

Senior 1C Developer ЛЮБОЙ ГОРОД
Москва
Полный день

Старший Программист 1С НОВОСИБИРСК
Новосибирск
зарплата до 130 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 75 000 руб.
Полный день