С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
 Аватар для smay
3 / 3 / 5
Регистрация: 07.12.2013
Сообщений: 189

Сбивается таймер при отправке писем: интервал не всегда равен установленному

07.07.2014, 00:29. Показов 960. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть определенная задача - отправляется сообщение на эмейл каждые 5 минут. Тем не менее, таймер сбивается и отправляет в рандомное количество времени. Что посоветуете?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.07.2014, 00:29
Ответы с готовыми решениями:

Ошибка при отправке писем из 1С
Есть обработка которая формирует отправляемые сообщения на почту пользователям. Почта находится у нас на сервере и админы говорят что с их...

Таймер при обновлении страницы сбивается и отчет идет заново
Здравствуйте, помогите пожалуйста решить проблему. У меня есть таймер, и при обновлении страницы он сбивается и отчет идет заново. ...

Баг При Отправке Писем В Почте 8.5.2 И Далее
не слышали про такой баг? в лотусе в версии 8.5.2 клиента и выше, если указывать в письме в копии нескольких человек то обязательно кого...

10
147 / 73 / 17
Регистрация: 31.05.2014
Сообщений: 215
07.07.2014, 00:33
Попробуйте бесконечный цикл и в нем отправка и засыпание потока на нужное время.
2
Строитель
 Аватар для Nord790
889 / 556 / 194
Регистрация: 01.04.2014
Сообщений: 610
Записей в блоге: 6
07.07.2014, 01:03
Что то типо вот такого
VB.NET
1
2
3
Do
Threading.Thread.Sleep(300000)
Loop
1
 Аватар для smay
3 / 3 / 5
Регистрация: 07.12.2013
Сообщений: 189
07.07.2014, 12:47  [ТС]
Nord790, не очень удобно

Добавлено через 20 секунд
Nord790, проблема раньше была, и как то даже решена была, но я забыл.
0
147 / 73 / 17
Регистрация: 31.05.2014
Сообщений: 215
07.07.2014, 13:53
smay, а если сделать так: запомнить время последней отправки, поставить таймер на 10 секунд, в нем проверять прошло ли 5 минут. Если да, то делаем необходимое и запоминаем время, если нет ничего не делаем.
2
 Аватар для smay
3 / 3 / 5
Регистрация: 07.12.2013
Сообщений: 189
07.07.2014, 14:15  [ТС]
rutelun, в таком случае мне проще сделать 2 таймера, которые чередуются между собой
0
Строитель
 Аватар для Nord790
889 / 556 / 194
Регистрация: 01.04.2014
Сообщений: 610
Записей в блоге: 6
07.07.2014, 14:20
вот когда то использовал свой таймер, в нём задаётся интервал не через миллисекунды(Integer), а через TimeSpan
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Public Class Timer
    Inherits System.ComponentModel.Component
    Event Tick(sender As Object, e As EventArgs)
    Private Thread As Threading.Thread
    Private Current As Threading.SynchronizationContext
 
    Sub New()
        Current = Threading.SynchronizationContext.Current
    End Sub
 
    Public Overridable Sub Start()
        If Not Thread Is Nothing Then [Stop]()
        Thread = New Threading.Thread(AddressOf OnEventTick)
        With Thread
            .SetApartmentState(Threading.ApartmentState.MTA)
            .IsBackground = True
            .Start()
        End With
    End Sub
 
    Public Overridable Sub [Stop]()
        If Not Thread Is Nothing Then
            Thread.Abort()
            Thread = Nothing
        End If
    End Sub
 
    Public Overridable Property Interval As TimeSpan = New TimeSpan(1000)
 
    Private Sub OnEventTick()
        Do
            Threading.Thread.Sleep(Interval)
            Current.Post(AddressOf Post_EventTick, Nothing)
        Loop
    End Sub
 
    Private Sub Post_EventTick()
        RaiseEvent Tick(Me, New EventArgs)
    End Sub
End Class
1
147 / 73 / 17
Регистрация: 31.05.2014
Сообщений: 215
07.07.2014, 14:31
Nord790, а нельзя было сделать наследование от класса timer и переопределить метод OnEventTick()?
1
 Аватар для smay
3 / 3 / 5
Регистрация: 07.12.2013
Сообщений: 189
07.07.2014, 14:33  [ТС]
Всем спасибо, проблема решена обычным говнокодом: два таймера, которые чередуются.
0
Строитель
 Аватар для Nord790
889 / 556 / 194
Регистрация: 01.04.2014
Сообщений: 610
Записей в блоге: 6
07.07.2014, 14:38
а за чем наследовать если можно сделать цикл и в этом цикле сделать ожидание а после делать запрос на событие Tick и потом опять всё заново повторять

Добавлено через 1 минуту
обычный примитивный таймер
0
147 / 73 / 17
Регистрация: 31.05.2014
Сообщений: 215
07.07.2014, 14:44
Nord790, цикл будет занимать еще один поток.

Не по теме:

А так у меня наверно плохая привычка - пользоваться готовыми объектами, в крайнем случае немного изменяя их

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.07.2014, 14:44
Помогаю со студенческими работами здесь

Кодировка при отправке писем через Outlook
Доброго времени суток!!! Суть проблемы в том, что при отправке писем из Excel через Outlook происходит следующее. Если Outlook открыт, то...

Теряются вложения при массовой отправке писем
Всем привет. Для отправки писем использую PhpMailer (точнее, расширение для Yii, которое его использует). Раз в 5 минут работает крон...

Таймер при обновлении страницы сбивается и отчет идет заново - JavaScript
Здравствуйте, помогите пожалуйста решить проблему. У меня есть таймер, и при обновлении страницы он сбивается и отчет идет заново. ...

Создание темы при отправке писем, используя thunderbird
Помогите создать тему письма с кавычками, используя thunderbird Нужна тема письма, которая будет содержать кавычки. Как ни крутил -...

Конфликт кодировок при отправке писем из Лотуса в Exchange
Привет! Лотус 8.5 .1 Домино 8.5 В 99% случаев все работает с кодировками нормально, с внешней почтой, но вот иногда бывает: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru