Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

запуск/удаление регламентных и фоновых задач программно

запуск/удаление регламентных и фоновых задач программно
Я
   andrewch60
 
19.03.19 - 12:46
1С 8.3 УФ
Ситуация такова:
Реализовал на предприятии рассылку SMS уведомлений заказчиков
опишу примерно как работает

ПриЗаписи объекта SMS пользователем создается запись в регистре сведений SMSвОбработке с реквизитом Отправлено = Ложь
Есть ОбщийМодуль РаботаСSMSAssistent с функциями ОтправитьSMS и ОбновитьСтатусыSMS
ОтправитьSMS выбирает все записи SMSвОбработке с реквизитом Отправлено = Ложь и отправляет уведомления
Если SMS ушла без проблем, то Отправлено устанавливаем в Истину, иначе уведомление оставляем в текущем состоянии и нужно пробовать отправить позже
ОбновитьСтатусыSMS выбирает все записи SMSвОбработке с реквизитом Отправлено = Истина и обновляет Статусы SMS уведомлений
Если получен конечный статус(доставлено/не доставлено/время жизни истекло), то данные по SMS уведомлению обновляются и запись из SMSвОбработке удаляется, иначе только обновляются данные по SMS
Обновление статусов нужно делать периодически через пару минут после отправки, пока не получим конечные статусы по всем уведомлениям
Создание и отправка будет производиться как из обработки, так и пользователями вручную

Не хотелось бы ситуаций,когда вызванная моей обработкой отправка еще не отработала и в этот же момент другой пользователь пытается отправить свое уведомление (а в пакет отправки пойдут еще и все SMS отправляемые обработкой)
То же самое с обновлением статусов, если нажмут кнопки "ОбновитьСтатус" почти одновременно, то и функции одни и те же данные будут обрабатывать.

Хочу чтобы примерно так :
пока ОтправитьSMS не отработала, остальные вызовы ожидают завершения и стартуют сразу после в порядке очереди
причем, если не все удалось отправить, то необходимо еще и запланировать запуск через какой то промежуток времени(например 10 мин)
чтобы пока есть sms к отправке 1С периодически вызывала ОтправитьSMS

то же самое с ОбновитьСтатусыSMS с той лишь разницей, что первый запуск должен инициироваться из Отрпавки, а далее по расписанию или пользовательскому вызову, пока есть данные к обработке, а когда пусто, то не стоит впустую работать, будем ждать следующего вызова из Отрпавки

Смотрю в сторону Фоновых Задач,как понимаю, если с ключом одним запускать , то второй вызов не пройдет(или будет ожидать), да и создавать и завершать их вроде можно программно...
не приходилось самому работать с Регламентными и фоновыми задачами, поэтому прошу совета и помощи
подскажите задумку можно реализовать
 
 

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.