🌷🍁 Блогер Маотоху взять тебя Go to New World.✨🍁 🦄 блог首页——голова кошки тигризблог🎐 🐳«Полная колонка вопросов для интервью» Статья богата картинками и текстами🦕яркая и простая в освоении! Приглашаем всех присоединиться~🌺 🌊 «Колонка читов для разработки IDEA»учитьсяIDEAОбщие операции,Эффективность работы выросла в два раза~💐 🌊 «Мастер Голанга за 100 дней (базовое введение)»учитьсяGolangязык,Наслаждайтесь облачными технологиями,Посещение различных фабрик~💐
🪁🍁Надеюсь, эта статья поможет вам🌸Статья грубая, пожалуйста, покритикуйте и поправьте меня! 🍁
В этой статье в основном рассказывается о том, как SpringBoot @Scheduled позволяет запускать одновременное выполнение нескольких задач. Она имеет хорошее справочное значение, и я надеюсь, что она будет полезна всем. Если есть какие-либо ошибки или неполные соображения, пожалуйста, просветите меня.
Запланированные задачи выполняются одним потоком. По умолчанию за период времени может выполняться только одна запланированная задача.
если Несколько запланированных задач выполняются одновременноизразговаривать,Тогда он будет выполнен по порядку
Создайте пул потоков и внедрите его в Spring,
@EnableScheduling Сканирование запланированных задач, запуск поддержки планирования запланированных задач
@Service
@Component
@EnableScheduling
public class SendMsgNoticeServiceTimer {
private static final Logger logger = LoggerFactory.getLogger(SendMsgNoticeServiceTimer.class);
@Autowired
private NySendMsg nySendMsg;
//создаватьзапланированные задачипул потоков
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(64);
return taskScheduler;
}
@Scheduled(cron="0 0 10 * * ?")
public void sendPaymentNotice() {
logger.info("***-sendPaymentNotice--запланированные задача выполняется один раз в день в 10 утра ---***");
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
String endDate = sf.format(new Date());
JSONObject obj = sendTradingFeeChoosed(String.valueOf(1));
logger.info("***---запланированные задачи" + endDate + ":системаавтоматически отправлено" + obj.size() + «SMS-напоминание ---***»);
}
@Scheduled(cron="0 0 10 * * ?")
public void sendLateRemind() {
logger.info("***--sendLateRemind---запланированные задача выполняется один раз в день в 10 утра ---***");
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
String endDate = sf.format(new Date());
JSONObject obj = sendTradingFeeChoosed(String.valueOf(2));
logger.info("***---запланированные задачи" + endDate + ":системаавтоматически отправлено" + obj.size() + «SMS-напоминание ---***»);
}
}
@Scheduled
да Spring Аннотации в платформе используются для создания запланированных задач. Их можно использовать в методах, что позволяет определять методы, которые будут выполняться через определенные интервалы или фиксированные моменты времени. Если у вас более одного использования @Scheduled
По умолчанию аннотированные методы будут выполняться параллельно в соответствующий момент времени. В этом случае необходимо обратить внимание на некоторые проблемы, чтобы гарантировать одновременное выполнение нескольких запланированных задач без конфликтов.
нижедао@Scheduled
Несколько запланированных задач выполняются одновременноиз Краткое описание некоторых методов:
ThreadPoolTaskScheduler
или TaskScheduler
из bean Настроить пул потоков,контролироватьзапланированные задачи параллелизма.
Суммируя,@Scheduled
Аннотации позволяют вам Spring Легко создавайте запланированные в задачи,Но в Несколько запланированных задач выполняются одновременночас,нужно рассмотреть Безопасность резьбы, интервал задач, пул конфигурация потоков, обработка исключений и другие факторы, гарантирующие, что запланированные Задача может оставаться стабильной и эффективной при параллельном выполнении.