|
|
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Ребята, прошу помощи в "написании" алгоритма выполнения задачи: Имеется 3 адресата, первому нужно отправлять смс каждые 2 часа, второму - 12 минут, третьему - 1 час 20 минут. Отправлять всем через один промежуток времени(используя таймер) у меня получается, а вот придумать как реализовать вышеописанное - мозг пока не может. Сладкое, энергетики и бабы не помогают( PS: язык - C# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:20 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
Три таймера не предлагать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:23 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
1. Заводишь каждому получателю время следующей отправки (send_next). 2. Находишь минимальное send_next среди всех, ставишь таймер на это время (send_next - now). 3. Во время сработки таймера проверяешь send_next <= now, отправляешь, меняешь send_next 4. переход на п.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:26 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
wadmanТри таймера не предлагать? и на каждого последующего адресата заводить по таймеру?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:28 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
Retviz, Крутить 1 таймер с малым интервалом (1-3-5 минут) и проверять наступление "часа Ч" для каждого клиента. Т.е. ставим время следующей отсылки (для каждого адресата) начиная с текущего в "текущее + интервал в минутах", начинаем крутить таймер и проверяем, не прошло ли время ("текущее время - время отсылки"<=0). Если прошло - отсылаем и передвигаем время следующего запуска для этого адреса вперед (опять в "текущее+интервал"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:29 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
RetvizwadmanТри таймера не предлагать? и на каждого последующего адресата заводить по таймеру?) А в чем проблема? Массива на хендлы жалеешь? Тогда организуй сам "таймер" отдельным потоком, который (например) будет выбирать ближайшее время из таблицы (sql) и до этого времени будет засыпать (sleep). Проснулся, отправил сообщение и уснул до следующего времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:31 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
Спасибо ребят большое, представление как нужно сделать отложилось в голове) Пошел реализовывать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 11:37 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
Dima T1. Заводишь каждому получателю время следующей отправки (send_next). 2. Находишь минимальное send_next среди всех, ставишь таймер на это время (send_next - now). 3. Во время сработки таймера проверяешь send_next <= now, отправляешь, меняешь send_next 4. переход на п.2 А если будет два минимальных времени? 10 звонок 2 адресат совпадет с 1 первого адресата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 12:54 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
SashaMercuryА если будет два минимальных времени? 10 звонок 2 адресат совпадет с 1 первого адресата Там речь про СМС, а не звонки, СМСок можно хоть 10 штук послать за одно срабатывание таймера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 13:09 |
|
||
|
Отправка смс с разными интервалами времени
|
|||
|---|---|---|---|
|
#18+
Dima TSashaMercuryА если будет два минимальных времени? 10 звонок 2 адресат совпадет с 1 первого адресата Там речь про СМС, а не звонки, СМСок можно хоть 10 штук послать за одно срабатывание таймера. В любом случае СМС добавляются в одну очередь. и другой процесс по одному их отправляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2016, 19:39 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39293130&tid=1340638]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 324ms |

| 0 / 0 |
