К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

как определить время выполнения задания

Гость
0 - 11.03.2015 - 17:37
Задача, сделать рассылку смс за 8 часов и за 1 час. Есть регламентированное задание которое запускается примерно каждые 3 минуты. В нем делается запрос документов в течении года. Высчитывается дата от которой нужно делать отправку смс:
|
ДатаВремяОтправки = ДатаДок - КолЧасов * 3600;
|
как действовать потом? Как выявлять момент что текущая дата уже за 8 часов от ДатаВремяОтправки, и выполнить необходимый код. Или же что текущая дата за 1 час от ДатаВремяОтправки и так же выполнить код делающий отправку смс?



Uho
1 - 11.03.2015 - 17:40
эээ... вычитание не предлагать?
Гость
2 - 11.03.2015 - 17:45
(1) а что из чего???? не совсем понимаю, стал делать по одному примеру, но что то вижу не рабочий вариант:

ДатаВремяОтправки = ДатаВремяПодачиТранспортаНСО - КолЧасов * 3600;
//

ДиапазонОтСтарта = ТекущаяДата() - ДатаВремяОтправки;
ДиапазонОтСтарта = МАКС(ДиапазонОтСтарта , -ДиапазонОтСтарта);
//

Сообщить(Строка(н) + "). " + Строка(СтрТз.СсылкаЗаказТрансфера) + " Диапазон старта «" + Строка(ДиапазонОтСтарта) + "», ДатаВремяОтправки " + Строка(ДатаВремяОтправки));
//

Если ДиапазонОтСтарта < (60 * (КолЧасов * 60)) Тогда
Гость
3 - 11.03.2015 - 17:47
(1) я получил ДатаВремяОтправки, это дата за вычетом требуемого количества часов от нужной даты, как мне сейчас отлавливать момент что она равна "примерно" текущаей дате?
Uho
4 - 11.03.2015 - 17:50
Если ТекущаяДата() > ДатаВремяОтправки И СМСещеНЕотправлено Тогда ОтправитьСМС() КонецЕсли;
Гость
5 - 11.03.2015 - 17:57
(4) да пробовал так, но как то тоже не подходит!!!
СМСЕщёНЕотправлено, это да! фильтруется в запросе, то есть уже отправленым повторно отправляться не будет. Они будут отсутствовать в выборке.

Но как то не пойму!!! В (4) тоже мне кажется не надежное и не универсальное решение. Нужно как то хитрее.
Uho
6 - 11.03.2015 - 18:19
5-LivingStar > в (4) необходимое и достаточное условие, что еще надо?
Гость
7 - 11.03.2015 - 18:32
(6) ну ладно завтра попробую,

вот так тогда просто

Если ТекущаяДата() > ДатаВремяОтправки

так как в выборке и так те по которым не было отправки
Гость
8 - 11.03.2015 - 18:37
() так а если там старые всякие смс по которым не было отправки, и текущая дата будет всегда больше ихней, а по ним не надо делать отправку, то есть будет контролироваться что не за час или за 8 часов а просто что текущая дата стала больше
Гость
9 - 11.03.2015 - 18:48
(6) в базе много данных, так как я отбираю за год, то там есть и документы за несколько месяцев, что просто попадут под условия, а нужно за 8 часов и за час.
Гость
10 - 11.03.2015 - 19:17
зачем тогда за год?
Гость
11 - 11.03.2015 - 21:53
(0) ЗАЧЕМ?
Цель раскрой, время-то тебе зачем? Если ты спамишь, спамера интересует размер кучи говна, кою на бедных пользователей вываливаете, а время-то зачем? Извращенное удовольствие?
Или что-то техническое?
Гость
12 - 11.03.2015 - 22:21
Как вариант, моя контора спамит наших клиентов порядка 10000 рассылок СМС в день.
В каждой из них написано: "Мы тебе кучу бабла заслали".
Гость
13 - 11.03.2015 - 22:23
Так вот время - интересует провайдера СМС.
Если мы чё-то 30 тысяч счастливчиков осчастливить готовы деньгами, то провайдер чё-то сопротивляется 30 000 СМС.
Гость
14 - 12.03.2015 - 00:01
13-DeiMos > Дык провайдеру время зачем? Его объем интересует: в количестве рассылок, и в мегабайтах в общем.
Гость
15 - 12.03.2015 - 06:27
(10) подразумевая то что заказы в документах могут делаться на длительный период вперед, за год что бы не потерять такие
Гость
16 - 12.03.2015 - 06:29
(11) это смс информировании клиента о заказанной услуге, в данное время менеджеры делают это по кнопке из документа

к каждому документу привязано дата время предаставляемой услуги услуги, нужно автоматизировать отправку смс за 8 часов и за 1 час
Гость
17 - 12.03.2015 - 06:52
как вам вот такое решение?

Если ДатаВремяОтправки < ТекущаяДата() и ДатаВремяОтправки > ТекущаяДата()-60*(КолЧасов*60) Тогда


ДатаВремяОтправки становится меньше ТекущаяДата() и ДатаВремяОтправки больше ТекущаяДата() минус час или 8 часов

то есть как только ДатаВремяОтправки попадает в промежуток за 8 часов или за 1 час в который нужно отправить смс, так как регламентное задание выполняется примерно каждые 3 минуты, погрешность будет не большая
Uho
18 - 12.03.2015 - 10:34
8-LivingStar > по "старым" ты должен заранее позаботиться и не включать их в выборку
Гость
19 - 12.03.2015 - 14:02
17-LivingStar > это за 8 часов она у тебя 160 раз уйдёт. клиент порадуется. веди учёт фактов отправки смс.
Uho
20 - 12.03.2015 - 14:26
19-Зелёный тролль > см.(5)


К списку вопросов






Copyright ©, Все права защищены