Cron4j: планировщик, подобный cron, на Java
Дата создания: 20 августа 2017 г., 13:35:01.
Официальный документ: http://www.sauronsoftware.it/projects/cron4j/.
Maven-зависимости:
<dependency>
<groupId>it.sauronsoftware.cron4j</groupId>
<artifactId>cron4j</artifactId>
<version>2.2.5</version>
</dependency>
Это перевод официального документа Cron4j.
Хотя официальный документ не так уж трудно понять, но, следуя благородному духу самообучения и имея немного свободного времени в отпуске, я попытался перевести технический документ этого пакета инструментов Java.
Этот перевод не является официальным, а предназначен только для самостоятельного изучения. Если есть ошибки перевода, пожалуйста, укажите их в issue.
Я имею лишь уровень английского языка B1, поэтому документ не переведён строго в соответствии с грамматическими правилами, сначала следуя моему собственному пониманию (если есть неправильное понимание, также укажите это в issue), а затем пытаясь перевести его на простой язык, требуя, чтобы можно было быстро освоить инструмент cron4j на основе практики. Всё основано на практике, и я также буду практиковаться во время обучения, а затем интегрировать практику в документ.
В разработке JavaWeb некоторые фоновые бизнес-сценарии требуют выполнения задач по расписанию, которые будут выглядеть глупо, если выполнять их вручную, поэтому появились инструменты или фреймворки для выполнения задач по расписанию.
На самом деле, популярные фреймворки для задач по расписанию похожи на Quartz, который должен быть хорошим выбором для использования в производственной среде, но структура официальной документации Quartz немного запутанная (или, возможно, я не внимательно её изучил) и не позволяет разработчикам легко и постепенно осваивать её. Некоторые блоги также сравнивают Quartz с Cron4j и считают, что Cron4j более громоздкий, что также увеличивает стоимость обучения. Не знаю, как сравнить их производительность, но я предполагаю, что Quartz должен быть лучше, ведь он всё ещё поддерживается до двух месяцев назад, а последнее обновление Cron4j было 28 декабря 2011 года (уважение).
Почему я выбрал Cron4j? Потому что недавно, когда я изучал JFinal3.2, в разделе плагинов и расширений упоминался Cron4j, и раньше я уже думал о решении задач по расписанию, и случайно узнал об этом. Изучая Cron4j, я действительно почувствовал его «чистоту», поэтому я готов потратить некоторое время на перевод его официальной документации и изучение его.
Во время процесса перевода было немного неприятно, что каждый раз, когда я практиковался, мне приходилось ждать не менее минуты, прежде чем я мог проверить результат...
Cron4j — это планировщик задач на платформе Java, очень похожий на инструмент cron в UNIX-системах с процессами-демонами для выполнения задач по расписанию.
С помощью Cron4j вы можете выполнять задачи в определённое время в приложении Java, устанавливая несколько простых правил.
Хотя в Java уже есть встроенный планировщик, основанный на классе java.util.Timer, Cron4j идёт другим путём.
Вы можете сказать, что планировщик java.util.Timer — это
«запустить эту задачу через 5 минут после начала»
или
«выполнять эту задачу каждые 10 минут, начиная с 5 минут после запуска».
Это java.util.Timer.
Планировщик Cron4j заставит вас сделать немного больше, например:
«Выполнять эту задачу каждый понедельник в 12 часов»
«Каждые 5 минут выполнять эту задачу, но не выполнять её в выходные»
«Каждый час между 8:00 и 20:00 выполнять задачу один раз, а между 20:00 и 8:00 — каждые 5 минут»
«За исключением июля и августа и кроме воскресенья, выполнять задачу каждый день».
Эти сложные операции можно реализовать, написав всего несколько строк кода.
Использовать Cron4j в вашем проекте очень просто, вам нужно только освоить несколько часто используемых API. Правила запуска задач должны быть представлены в виде строкового выражения, называемого pattern scheduling (режим планирования), синтаксис которого аналогичен синтаксису crontab в UNIX. Если вы знакомы с работой crontab в UNIX, то поздравляю, вы освоили большую часть этого инструмента. Если нет, не волнуйтесь: вы сможете освоить синтаксис crontab за несколько минут (шутка!), к тому же позже будет документация для изучения.
Требования к запуску:
Его можно использовать на любой платформе Java.
Лицензия:
cron4j является свободным программным обеспечением и лицензируется под LGPL (копию лицензии можно найти в загружаемом дистрибутиве программного обеспечения).
Обратная связь
...
Пожертвование
...
Прогресс перевода:
Первый этап
Дата: 20 августа 2017 года, 21:03:12
Содержание: обзор, первые три раздела документа.
Второй этап
Дата: 21 августа 2017 года, 00:01:13
Содержание: четвёртый, пятый разделы документа и большая часть шестого раздела.
Третий этап
Дата: 21 августа 2017 года, 22:15:33
Содержание: седьмой раздел и последующие разделы документа.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )