Size: a a a

.NET Chat Убежище

2017 November 15

Dv

Dr. Friedrich von Never in .NET Chat Убежище
Aleksandr Ivanov
Коллеги, добрый день! Подскажите пожалуйста как можно изменить метод чтобы он возвращал true с периодичностью period (значение в часах) начиная со времени stime?
public static bool IsNowTimeForSend(DateTime stime, int period)
       {
           int res;
           var sHour = stime.Hour;
           var nowHour = DateTime.Now.Hour;

           if (sHour > nowHour)
           {
               res = sHour - nowHour;
           }
           else
           {
               res = nowHour - sHour;
           }

           var condition = res == period;

           return condition;
       }
А, случайно, не return (nowHour - sHour) % period == 0?
источник

AI

Aleksandr Ivanov in .NET Chat Убежище
Dr. Friedrich von Never
А, случайно, не return (nowHour - sHour) % period == 0?
Это деление без остатка?
источник

Dv

Dr. Friedrich von Never in .NET Chat Убежище
Да.
источник

ak

aλ>>=ix>=> kononov in .NET Chat Убежище
Aleksandr Ivanov
Коллеги, добрый день! Подскажите пожалуйста как можно изменить метод чтобы он возвращал true с периодичностью period (значение в часах) начиная со времени stime?
public static bool IsNowTimeForSend(DateTime stime, int period)
       {
           int res;
           var sHour = stime.Hour;
           var nowHour = DateTime.Now.Hour;

           if (sHour > nowHour)
           {
               res = sHour - nowHour;
           }
           else
           {
               res = nowHour - sHour;
           }

           var condition = res == period;

           return condition;
       }
а не проще взять quartz.net и не велосипедить?
источник

AI

Aleksandr Ivanov in .NET Chat Убежище
aλ>>=ix>=> kononov
а не проще взять quartz.net и не велосипедить?
Дело в том, что сейчас основной функционал уже реализован: Создан синглтон класс в котором есть таймер
источник

ak

aλ>>=ix>=> kononov in .NET Chat Убежище
если тебе что то надо делать по расписанию или периодичностью какой то не надо делать велосипеды на таймерах
источник

ak

aλ>>=ix>=> kononov in .NET Chat Убежище
есть кварц есть хэнгфайр
источник

ak

aλ>>=ix>=> kononov in .NET Chat Убежище
которые все это умеют делать красиво  и правильно
источник

AI

Aleksandr Ivanov in .NET Chat Убежище
В нем каждый час запускается метод отправляющий отчёты, нужно только как то определить, конкретный отчёт нужно сейчас отправлять или потом
источник

I

Ilya🌚 in .NET Chat Убежище
Aleksandr Ivanov
В нем каждый час запускается метод отправляющий отчёты, нужно только как то определить, конкретный отчёт нужно сейчас отправлять или потом
а если у тебя сервис рестартанёт?
источник

AI

Aleksandr Ivanov in .NET Chat Убежище
aλ>>=ix>=> kononov
которые все это умеют делать красиво  и правильно
Непонимаю я зачем мне это, понимаю их много, есть HangFire и т.д.
источник

I

Ilya🌚 in .NET Chat Убежище
возми кварц
источник

ak

aλ>>=ix>=> kononov in .NET Chat Убежище
Ilya🌚
а если у тебя сервис рестартанёт?
да там куча нюансов которые уже решены в либках для джобов по расписанию
источник

ak

aλ>>=ix>=> kononov in .NET Chat Убежище
и которые просто работают
источник

С

Сергей in .NET Chat Убежище
Dmitry
есть же стори про деда в америках, который аутсорс фирму на коболе держит
Cobol Cowboys
источник

AI

Aleksandr Ivanov in .NET Chat Убежище
aλ>>=ix>=> kononov
и которые просто работают
В том и сложность не работая я с ними, непредставляю как
источник

AI

Aleksandr Ivanov in .NET Chat Убежище
У меня пользователь сам подписывается на отчёт, а инфа о подписке сохраняется в БД
источник

AI

Aleksandr Ivanov in .NET Chat Убежище
Оттуда по таймеру тащатся все подписки и отправляются
источник

ak

aλ>>=ix>=> kononov in .NET Chat Убежище
Aleksandr Ivanov
В том и сложность не работая я с ними, непредставляю как
дак открой мануалы
источник

ak

aλ>>=ix>=> kononov in .NET Chat Убежище
там все поясняют
источник