当前位置: 首页 > news >正文

永久网站建设apache 写wordpress

永久网站建设,apache 写wordpress,网站建设方案进行工期安排,阳江房产网楼市数据您是否需要每天像闹钟一样在同一时间运行某个流程#xff1f; 然后#xff0c;Spring的预定任务适合您。 允许您使用Scheduled注释方法#xff0c;以使其在指定的时间或内部间隔运行。 在本文中#xff0c;我们将研究如何设置一个可以使用计划任务的项目#xff0c;以及如… 您是否需要每天像闹钟一样在同一时间运行某个流程 然后Spring的预定任务适合您。 允许您使用Scheduled注释方法以使其在指定的时间或内部间隔运行。 在本文中我们将研究如何设置一个可以使用计划任务的项目以及如何使用不同的方法来定义它们的执行时间。 我将在本文中使用Spring Boot以使依赖关系变得简洁而又简单这是因为可以对spring-boot-starter依赖项进行调度该依赖项将以某种方式包含在几乎每个Spring Boot项目中。 这使您可以使用任何其他启动程序依赖项因为它们会引入spring-boot-starter及其所有关系。 如果要包括确切的依赖项本身请使用spring-context 。 您可以使用spring-boot-starter 。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.0.0.RC1/version /dependency 或直接使用spring-context 。 dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.0.3.RELEASE/version /dependency 创建计划任务非常简单。 将Scheduled批注添加到希望自动运行的任何方法中并将EnableScheduling包含在配置文件中。 因此例如您可能会遇到类似以下的内容。 Component public class EventCreator {private static final Logger LOG LoggerFactory.getLogger(EventCreator.class);private final EventRepository eventRepository;public EventCreator(final EventRepository eventRepository) {this.eventRepository eventRepository;}Scheduled(fixedRate 1000)public void create() {final LocalDateTime start LocalDateTime.now();eventRepository.save(new Event(new EventKey(An event type, start, UUID.randomUUID()), Math.random() * 1000));LOG.debug(Event created!);} } 这里有很多代码对于运行计划任务并不重要。 正如我在一分钟前说过的我们需要在方法上使用Scheduled 它将自动开始运行。 因此在上面的示例中 create方法将每隔1000毫秒1秒开始运行如注释的fixedRate属性所示。 如果我们想更改其运行频率则可以增加或减少fixedRate时间或者可以考虑使用可用的不同调度方法。 因此您可能想知道这些其他方法是正确的吗 好了它们就在这里我还将在此处包括fixedRate 。 fixedRate在fixedRate调用之间以固定的毫秒周期执行该方法。 fixedRateString一样的fixedRate 但有一个字符串值来代替。 fixedDelay在一次调用结束与下一次调用之间以固定的毫秒周期执行该方法。 fixedDelayString一样fixedDelay但一个字符串值来代替。 cron使用类似cron的表达式来确定何时执行该方法我们将在以后更深入地介绍此方法。 Scheduled批注还有一些其他实用程序属性。 zone指示将解析cron表达式的时区如果不包括时区它将使用服务器的默认时区。 因此如果您需要它在特定时区运行例如香港则可以使用zone GMT8:00 。 initialDelay延迟第一次执行计划任务的毫秒数需要使用固定速率或固定延迟属性之一。 initialDelayString同为initialDelay但一个字符串值来代替。 以下是一些使用固定速率和延迟的示例。 Scheduled(fixedRate 1000) 与之前相同每1秒运行一次。 Scheduled(fixedRateString 1000) 同上。 Scheduled(fixedDelay 1000) 在上一次调用完成后运行1秒。 Scheduled(fixedRate 1000, initialDelay 5000) 每秒运行一次但要等待5秒钟才能首次执行。 现在来看一下cron属性它可以对任务的计划进行更多控制让我们定义任务运行的秒数分钟数和小时数甚至可以进一步指定任务的运行年限。 以下是构建cron表达式的组件的细分。 Seconds值可以为0-59或特殊字符, - * / 。 Minutes值可以为0-59或特殊字符, - * / 。 Hours值可以为0-59或特殊字符, - * / 。 Day of month可以具有值1-31或特殊字符, - * ? / LWC , - * ? / LWC 。 Month值可以为1-12 JAN-DEC或特殊字符, - * / 。 Day of week可以具有值1-7 SUN-SAT或特殊字符, - * ? / LC # , - * ? / LC # 。 Year可以为空值为1970-2099或特殊字符, - * / 。 为了更加清楚起见我将细目分类组合成一个由字段标签组成的表达式。 Scheduled(cron [Seconds] [Minutes] [Hours] [Day of month] [Month] [Day of week] [Year]) 请不要在表达式中包括花括号我使用它们使表达式更清晰。 在继续之前我们需要了解特殊字符的含义。 *表示所有值因此如果在第二个字段中使用则表示每秒或在天字段中使用表示每天运行。 ? 表示没有特定的值并且可以在“月的天”或“星期几”字段中使用其中使用一个会使另一个无效。 如果我们指定在一个月的15日触发则一个? 将在“ Day of week字段中使用。 -表示值的范围例如小时数字段中的1-3表示小时数1、2和3。 ,代表附加价值例如周一周三SUN在本周说明此一天在周一周三和周日。 /代表增量例如秒字段中的0/15从00、15、30和45开始每15秒触发一次。 L代表一周或一个月的最后一天。 请记住在这种情况下星期六是一周的结束因此在“星期几”字段中使用L将在星期六触发。 可以将其与月日字段中的数字结合使用例如6L代表月的最后一个星期五或者L-3这样的表达式表示月的最后一天。 如果我们在星期几字段中指定一个值则必须使用? 在“月”字段中反之亦然。 W表示每月的最接近的工作日。 例如如果15W是工作日则在每月的第15天触发否则它将在最近的工作日运行。 该值不能在日期值列表中使用。 #指定任务应该在星期几和星期几触发。 例如 5#2表示该月的第二个星期四。 如果您指定的日期和星期溢出到下个月则不会触发。 在这里可以找到有用的资源其中的解释稍长一些这有助于我撰写本文。 让我们来看几个例子。 Scheduled(cron 0 0 12 * * ?) 每天晚上12点开火。 Scheduled(cron 0 15 10 * * ? 2005) 2005年每天早上10:15触发。 Scheduled(cron 0/20 * * * * ?) 每20秒触发一次。 有关更多示例请参阅我前面提到的链接 此处再次显示。 幸运的是如果您在编写一个简单的cron表达式时遇到麻烦那么您应该可以在Google中找到所需的方案因为有人可能已经在Stack Overflow上问了同样的问题。 要将上述内容与一个小的代码示例绑定在一起请参见下面的代码。 Component public class AverageMonitor {private static final Logger LOG LoggerFactory.getLogger(AverageMonitor.class);private final EventRepository eventRepository;private final AverageRepository averageRepository;public AverageMonitor(final EventRepository eventRepository, final AverageRepository averageRepository) {this.eventRepository eventRepository;this.averageRepository averageRepository;}Scheduled(cron 0/20 * * * * ?)public void publish() {final double average eventRepository.getAverageValueGreaterThanStartTime(An event type, LocalDateTime.now().minusSeconds(20));averageRepository.save(new Average(new AverageKey(An event type, LocalDateTime.now()), average));LOG.info(Average value is {}, average);} } 在这里我们有一个类每20秒向Cassandra查询一次同一时间段内事件的平均值。 同样这里的大多数代码都是Scheduled批注中的噪音但在野外看到它可能会有所帮助。 此外如果您观察到这一情况则对于每20秒运行一次的用例在此处使用频繁运行任务的情况下使用fixedRate以及可能使用fixedDelay属性而不是cron更为合适。 Scheduled(fixedRate 20000) 是上面使用的cron表达式的fixedRate等效项。 我前面提到的最终要求是将EnableScheduling批注添加到配置类。 SpringBootApplication EnableScheduling public class Application {public static void main(final String args[]) {SpringApplication.run(Application.class);} } 作为一个很小的Spring Boot应用程序我已将EnableScheduling批注附加到主SpringBootApplication类。 总而言之我们可以安排任务使用Scheduled注释以及执行之间的毫秒级速率或cron表达式来触发以实现无法用前者表达的更佳时序。 对于需要非常频繁运行的任务使用fixedRate或fixedDelay属性就足够了但是一旦执行之间的时间变大则很难快速确定所定义的时间。 发生这种情况时应使用cron属性以更好地了解计划的时间。 这篇文章中使用的少量代码可以在我的GitHub上找到 。 如果您发现这篇文章很有帮助并希望在我撰写新教程时保持最新请在Twitter上LankyDanDev关注我。 翻译自: https://www.javacodegeeks.com/2018/02/running-time-springs-scheduled-tasks.html
http://www.yutouwan.com/news/142697/

相关文章:

  • 胶州企业网站建设滁州做网站价格
  • 宝安网站设计制作wordpress界面404
  • 外贸企业网站推广公司上海金融网站建设
  • 抖音网站开发南京市建设工程网站
  • 建设com网站Sage WordPress商城主题
  • 网站方案原则华为弹性云做网站
  • 双语版网站引导页长春市网络科技有限公司
  • 中小企业网站建设好么企业安全文化建设的内容
  • 利用qq 群做网站推广希爱力双效片用后感受
  • 合肥微信网站制作长春火车站什么时候通车
  • 网站建设的规划和流程jsp 网站开发教程
  • 青海建设信用信息服务网站网站收录查询入口
  • 网站公司简介模板免费下载电商培训基地
  • 如何做后台网站的教程网站添加视频
  • 网站建设中html网页个人导航网站怎么备案
  • 无锡网站制作公司网片加工机器
  • wordpress文章半透明福州seo建站
  • 淘宝搜索热词排名seo标题优化
  • dede网站logo怎么改锦州市网站建设
  • 免费建设论坛网站做招聘网站的需求分析
  • 热门搜索关键词怎样优化网站自然排名
  • 用asp做旅游网站建筑工程发布网站
  • 汕头网站开发定制大理住房和城乡建设局网站
  • dedecms确定网站风格网站建设 中企动力 常州
  • 建设招标项目常挂网站有哪些网站的简介怎么在后台炒做
  • xxx网站策划书线上引流的八种推广方式
  • 自己做网站写文章如何增加网站的权重
  • 网站有效内容的宣传及推广如何做跨境电商怎么做
  • 一家网站建设公司需要什么资质移动商城网站建设 深圳
  • 一个空间怎么做多个网站长沙广告传媒有限公司