Flink定时器怎么实现
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"Flink定时器怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Flink定时器怎么实现"吧!背景需求在电商领域会有这么一个
千家信息网最后更新 2026年11月01日Flink定时器怎么实现背景需求
定时处理逻辑
这篇文章主要讲解了"Flink定时器怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Flink定时器怎么实现"吧!
背景需求
在电商领域会有这么一个场景,如果用户买了商品,在订单完成之后,24小时之内没有做出评价,系统自动给与五星好评,我们今天主要使用flink的定时器来简单实现这一功能。
案例详解
自定义source
首先我们还是通过自定义source来模拟生成一些订单数据.
在这里,我们生了一个最简单的二元组Tuple2,包含订单id和订单完成时间两个字段.
public static class MySource implements SourceFunction>{
private volatile boolean isRunning = true;
@Override
public void run(SourceContext> ctx) throws Exception{
while (isRunning){
Thread.sleep(1000);
//订单id
String orderid = UUID.randomUUID().toString();
//订单完成时间
long orderFinishTime = System.currentTimeMillis();
ctx.collect(Tuple2.of(orderid, orderFinishTime));
}
}
@Override
public void cancel(){
isRunning = false;
}
}
定时处理逻辑
先上代码, 我们再来依次解释代码
public static class TimerProcessFuntion
extends KeyedProcessFunction,Object>{
private MapState mapState;
//超过多长时间(interval,单位:毫秒) 没有评价,则自动五星好评
private long interval = 0l;
public TimerProcessFuntion(long interval){
this.interval = interval;
}
@Override
public void open(Configuration parameters){
MapStateDescriptor mapStateDesc = new MapStateDescriptor<>(
"mapStateDesc",
String.class, Long.class);
mapState = getRuntimeContext().getMapState(mapStateDesc);
}
@Override
public void onTimer(
long timestamp, OnTimerContext ctx, Collector 首先我们定义一个MapState类型的状态,key是订单号,value是订单完成时间 在processElement处理数据的时候,把每个订单的信息存入状态中,这个时候不做任何处理,并且注册一个比订单完成时间大于间隔时间(interval)的定时器. 注册的定时任务在到达了定时器的时间就会触发onTimer方法,我们主要在这个里面进行处理。我们调用外部的接口来判断用户是否做过评价,如果没做评价,调用接口给与五星好评,如果做过评价,则什么也不处理,最后记得把相应的订单从MapState删除
感谢各位的阅读,以上就是"Flink定时器怎么实现"的内容了,经过本文的学习后,相信大家对Flink定时器怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
订单
评价
时间
定时器
五星
处理
好评
接口
用户
学习
内容
数据
时候
状态
系统
上代
两个
代码
任务
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技工作委员会
互联网属科技
科技创新与互联网经济
世界互联网领先科技成果
成都互联网科技公司
互联网金融科技平台
山东吉时兔互联网科技有限公司
互联网校园科技培训
互联网科技项目计划书材料类
南博望互联网科技有限公司
保险科技服务互联网营销体系
互联网科技公司营业执照怎么办理
互联网科技圈年度人物
2021互联网科技公司排名
深圳无忧互联网科技
新氧科技和美国互联网有关系吗
互联网领先科技活动
互联网科技的前景
第三届互联网大会安防黑科技
北京瑞云互联网科技有限公司
科技互联网政务服务
互联网科技战争
腾讯阿里互联网科技
上海卓越科技 互联网
上海亿帐通互联网科技
科技赋能互联网健康
互联网科技扶贫时间
互联网金融科技展
众安科技工业互联网合作
厦门江牛科技互联网