Вопрос Выполнение кода в определённое время каждый час

manul694

Premium
Сообщения
1 168
Решения
34
У меня была идея поставить шедулер что бы каждую секунду проверял время, и если оно [Любой час]:00:00, то действие выполняется. Но если поставить выполнение шедулера каждые 20 тиков то при снижении тпс он может тупо пропустить это время, а если поставить, например, 12 то он может 2 раза выполнить этот код. А идея с занесением часа в массив и дальнейшей проверкой его наличия (т.е. если массив содержит этот час то код не выполняется) мне не кажется хорошей. Есть нормальные способы?
 
У меня была идея поставить шедулер что бы каждую секунду проверял время, и если оно [Любой час]:00:00, то действие выполняется. Но если поставить выполнение шедулера каждые 20 тиков то при снижении тпс он может тупо пропустить это время, а если поставить, например, 12 то он может 2 раза выполнить этот код. А идея с занесением часа в массив и дальнейшей проверкой его наличия (т.е. если массив содержит этот час то код не выполняется) мне не кажется хорошей. Есть нормальные способы?
тут же идеальный пример такого кода, не?
 
то при снижении тпс он может тупо пропустить это время
Для этого есть встроенный в JDK класс Timer. Он нужен для планирования асинхронных задач. Там нет никакой зависимости от тиков
Когда нужно будет взаимодействовать с баккит апи, просто используй шедулер#runTask
Объединено

тут же идеальный пример такого кода, не?
Здесь кстати вроде бы на тиках сделано
Объединено

А вообще, конкретно с Timer есть возможность, позволяющая чётко назначить время исполнения. Это довольно просто нагуглить. Подсказка - там учавствует Calendar
 
Последнее редактирование:
Назад
Сверху Снизу