O
olga13
Добрый день. Столкнулась с такой проблемой: необходимо с разным интервалом времени вызывать две процедуры из глобального модуля. Если разместить две ОбработкаОжидания(), выполняется только вторая. Как быть?
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
Как вариант написать батник вызывающий эти процедуры и через планировщик заданий запускать их.
Я на ОбработкуОжидания положила процедуру, в которой потом анализировала время и уже по нему смотрела, какую из процедур вызывать дальше.
Перем ТекВызов; // текущий счетчик вызовов
Процедура Ожидание()
// При старте системы
Если ПустоеЗначение(ТекВызов) = 1 Тогда
ТекВызов = 0;
КонецЕсли;
ТекВызов = ТекВызов + 1;
//------ Автоснятие резерва
Если (ТекВызов % 5 = 0) Тогда
ОжиданиеРезерв();
КонецЕсли;
//------ Сигнал или Завершение системы
Если (ТекВызов % 3 = 0) Тогда
ОжиданиеСигнал();
КонецЕсли;
//------ Заказ товара
Если (ТекВызов % 37 = 0) Тогда
ОжиданиеЗаказ();
КонецЕсли;
КонецПроцедуры // Ожидание
Процедура ПриНачалеРаботыСистемы()
ОбработкаОжидания("Ожидание", 5);
КонецПроцедуры // ПриНачалеРаботыСистемы
Перем ТекЧас;
Процедура ПриНачалеРаботыСистемы()
ОбработкаОжидания("ПериодическиеПроцедуры",300);
КонецПроцедуры
Процедура ПериодическиеПроцедуры()
Часы = "";
ТекущееВремя(Часы);
Если (ТекЧас = "") Тогда //первый запуск
ВыгрузкаНаСайт();
Изменениестатусов();
Отчет30Дней();
БитыеСсылки();
ИначеЕсли Часы<ТекЧас Тогда// следующий день
ВыгрузкаНаСайт();
Изменениестатусов();
Отчет30Дней();
БитыеСсылки();
ИначеЕсли (ТекЧас+1 = Часы) Тогда//новый час
ВыгрузкаНаСайт();
Изменениестатусов();
КонецЕсли;
ОтправкаСМС();// каждые пять минут
ТекЧас = Часы;
КонецПроцедуры
Дайнеко, а что это за %? не встречал такого
Ну, пацаны, вы даете! Изучайте матчасть.Дайнеко, а что это за %? не встречал такого
С этим делом надо аккуратно. Представьте сидит человек 30 в базе. И у всех каждые н секунд бабахает вроде "Отчет30Дней()". А поставишь ОбработкаОжидания(,300); - потеряешь оперативность.
Вот и у меня возникла проблема - одна и та же обработка запускается у нескольких пользователей практически одновременно. А поскольку она создает документ, то в результате получается несколько одинаковых документов.
Как это побороть?
Сначала по понятиям:Вот и у меня возникла проблема - одна и та же обработка запускается у нескольких пользователей практически одновременно.
Обучение наступательной кибербезопасности в игровой форме. Начать игру!