支付平台对账需要用到 一些定时器管理框架, (量大的时候会用到任务并行处理框架)

选中了 啊里的tbschedule框架.

网上的说明较多,不过以下根据普通的互联网小业务再说明mark一下:

一般的小业务可以分为:

1.频繁定时任务,如每分钟执行一次(0 * * * * ?)

2.每天仅一次的定时任务, 如(1 12 * * * ?)

而在小业务中,假如不过于依赖多线程并行处理的话,针对这两种任务,都要有一个不同的配置标准,这些网络上的说明至今还没有更详尽:

(一般用的Sleep模式)

主要是以下三个配置项目需要注意:

<执行开始时间>, <执行结束时间>,<每次处理完数据后休眠时间(秒)>

源码大概的类路线, 其他帖子已经说得够详细了,这里简单列举:

-> TBScheduleManagerFactory - init() - initialData() - refresh()

-> ManagerFactoryTimerTask - refresh()

- assignScheduleServer()

- reRunScheduleServer()

-> IStrategyTask - createStrategyTask()

-> TBScheduleManagerStatic

-> HeartBeatTimerTask

-> initial() - computerStart()

-> PauseOrResumeScheduleTask

针对此三个参数,主要看TBScheduleManager的computerStart方法

#此些配置方法限制了 复杂的 ctrontab 配置, 如(23-7/2,8)

一.如果是频繁定时任务,如每分钟执行一次(0 * * * * ?), 则  设置<每次处理完数据后休眠时间(秒)>

以下为空: <执行开始时间>, <执行结束时间>

这样,它会一直的在while(true)块里运行, 每隔设置的时间才唤醒一次, 直到人为的注销此factory或者strategy

二.如果是每天仅一次的定时任务, 如(1 12 * * * ?), 则设置以下

<执行开始时间>, <执行结束时间>, <每次处理完数据后休眠时间(秒)>(统一设置成1小时), 尽量保证开始时间结束时间差小天1小时

这样,它会在设置好的执行开始时间时唤醒一次,然后一直在while(true)块里等待1小时, 而还没到1小时,到了执行结束时间时它就会自动注销了.切合需求.

当然有一些公共的配置:

比如:

selectTasks()方法默认返回有长度的List

tbschedule源码分析配置相关推荐

  1. Libevent源码分析-----配置event_base

     出处:  http://blog.csdn.net/luotuo44/article/details/38443569 前面的博文都是讲一些Libevent的一些辅助结构,现在来讲一下关键结构体 ...

  2. 入理解分布式调度框架TBSchedule及源码分析

    简介 由于最近工作比较忙,前前后后花了两个月的时间把TBSchedule的源码翻了个底朝天.关于TBSchedule的使用,网上也有很多参考资料,这里不做过多的阐述.本文着重介绍TBSchedule的 ...

  3. 阿里面试这样问:Nacos配置中心交互模型是 push 还是 pull ?(原理+源码分析)...

    本文来源:公众号「 程序员内点事」 对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服务发现.配置管理,非常好用的一个工具.然而这样的技术用的人越多面试被问的概率也就越大,如果只停留在使用 ...

  4. 【Android 安全】DEX 加密 ( 多 DEX 加载 | 65535 方法数限制和 MultiDex 配置 | PathClassLoader 类加载源码分析 | DexPathList )

    文章目录 一.65535 方法数限制和 MultiDex 配置 二.多 DEX 加载引入 三.PathClassLoader 类加载源码分析 四.BaseDexClassLoader 类加载源码分析 ...

  5. 【转】ABP源码分析四十四:ZERO的配置

    ABP Zero模块中需要配置的地方主要集中在三块:1.配置静态的role:2.配置外部认证源:3.配置本地化语言和资源. UserManagementConfig/IUserManagementCo ...

  6. 【转】ABP源码分析二:ABP中配置的注册和初始化

    一般来说,ASP.NET Web应用程序的第一个执行的方法是Global.asax下定义的Start方法.执行这个方法前HttpApplication 实例必须存在,也就是说其构造函数必然已完成了执行 ...

  7. apollo源码分析 感知_Kitty中的动态线程池支持Nacos,Apollo多配置中心了

    目录 回顾昨日 nacos 集成 Spring Cloud Alibaba 方式 Nacos Spring Boot 方式 Apollo 集成 自研配置中心对接 无配置中心对接 实现源码分析 兼容 A ...

  8. 【kafka】Kafka中的动态配置源码分析

    1.概述 2.源码分析 Broker启动加载动态配置 KafkaServer.startup 启动加载动态配置总流程 2.1 动态配置初始化 config.dynamicConfig.initiali ...

  9. Kubernetes Node Controller源码分析之配置篇

    2019独角兽企业重金招聘Python工程师标准>>> Author: xidianwangtao@gmail.com Kubernetes Node Controller源码分析之 ...

  10. springboot sessionfactory_Spring Boot从入门到精通(五)多数据源配置实现及源码分析...

    多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...

最新文章

  1. hdu 2141 Can you find it?
  2. vuecli3 引入全局scss变量_vue-vue-cli3 sass全局变量配置
  3. Linux环境变量隔代,python基础题 - osc_vwtuqll7的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. python文件输入和输出程序_python -o 和-i 输入和输出文件如何理解
  5. 李连杰年度巨作霍元甲主题曲:周杰伦唱
  6. Python 删除满足条件的某些行
  7. 项目管理中网络图的看法和相关参数阅读说明
  8. html背景图片垂直居中,css — 定位、背景图、水平垂直居中
  9. 【转】JMeter学习(二十八)内存溢出解决方法
  10. java.sql.SQLException: Protocol violation 解决方法
  11. python编程入门第一课教案_python编程从入门到实践 第一课:输入输出
  12. 颜宁追问4位男科学家:如何平衡事业和家庭?
  13. 一文教你高效画出技术架构图
  14. python如何压缩pdf_PDF文件怎么压缩,一键压缩PDF文件
  15. 电桥的原理,及非线性误差
  16. 吴永祥:政府大数据服务平台建设之道
  17. 青岛大学计算机考研率高吗,学院2015届毕业生考研率再创新高
  18. Java和C专项练习
  19. java pdf转图片原理_pdf转图片程序(java实现)
  20. JVM (1) JVM为什么需要GC?

热门文章

  1. 《微观经济学》博弈论入门:囚徒困境、智猪博弈、性别战、斗鸡博弈
  2. troublemaker中文谐音_trouble maker的中文音译歌词 希望准确的遵循原来的发音。。。不是中文歌词和韩语歌词!要的是音译啊 注意...
  3. 8.1 段子中“酷毙”了的IT行业——《逆袭大学》连载
  4. 微信商城的这六大优势,以及这些丰富的功能,你知道吗?
  5. 软件系统安全性测试列表
  6. java中handler机制_自己动手撸一个Handler,让你彻底搞懂Handler机制,揍吻你服不服?...
  7. python之操作mysql数据库
  8. 到底什么是NP问题,NP hard问题,NP完全问题?
  9. Google Guice 快速入门
  10. SketchUp LayOut 剪贴簿制作技巧