首页 > 其他分享 >webflux版定时任务实现方案

webflux版定时任务实现方案

时间:2024-12-27 17:27:16浏览次数:8  
标签:方案 sinks webflux private EnableScheduling 定时 final Sinks

通常定时任务我们一般采用spring注解@EnableScheduling来启动,但如何与webflux响应式代码结合实现定时任务呢?下面给出了一个企业内使用的真实案例,希望能帮到你。

@Component
@EnableScheduling
@Slf4j
public class TestTask {
 
    @Resource
    private ReactiveStringRedisTemplate redisTemplate; 

    private final AtomicBoolean isRunning=new AtomicBoolean(false); 
    private final Sinks.Many<MapRecord<String, Object, Object>> sinks = Sinks.many().unicast().onBackpressureBuffer();

    @PostConstruct
    public void init(){
        //初始化时订阅sinks,等待有数据流进来,这里并发执行流中数据
        sinks.asFlux().onErrorResume(err->{
            log.error("出现异常",err);
            return Mono.empty();
        }).parallel().runOn(Schedulers.boundedElastic()).flatMap(record->{
            String orderNo=(String) record.getValue().getOrDefault("ord

标签:方案,sinks,webflux,private,EnableScheduling,定时,final,Sinks
From: https://blog.csdn.net/zhuguoli200851/article/details/144772955

相关文章

  • .NET混合开发解决方案WebView2控件的导航事件
    导航事件的正常顺序为:NavigationStartingSourceChangedContentLoadingHistoryChangedBasicAuthenticationRequestedDOMContentLoadedNavigationCompleted以下事件描述每次导航操作期间WebView2的状态:上图显示了在各自的事件参数上具有相同NavigationId属性的导航事......
  • 新能源系统HIL仿真测试解决方案
    概述    新能源汽车正以前所未有的速度高速发展,为了保证新能源汽车产品力不断提升,主机厂也不断加强对新能源汽车在安全、能效、稳定、功能乃至性能极限方面的追求。除提升原电控功能的完善度,也涌现出了较多新的技术,比如800V高压、整车热管理、多合一控制器、中央域控等,经......
  • Linux纯软件Sunshine与Moonlight极低延迟安卓副屏幕解决方案
    Linux纯软件Sunshine与Moonlight极低延迟安卓副屏幕解决方案本文将介绍如何通过Sunshine+Moonlight在Linux下将安卓平板设置为一块极低延迟的扩展屏幕。基于我个人的实际配置,以下是详细步骤和优化方案。硬件环境以下是我的设备配置(仅供参考):OS:ArchLinuxx86_64Hos......
  • 使用 CloudFlare CDN网站遇到「重定向的次数过多」解决方案
    在使用CloudFlareCDN的时候,一开始没有问题,但是过了一段时间,发现网站打不开了,网页提示:重定向次数过多解决办法进入cloudflare管理面板,在左侧点击SSL/TLS菜单,在右侧点击Configure配置按钮。在CustomSSL/TLS中选择Full(Strict)选项进行保存即可。......
  • web3基于zkEVM的L2扩容方案-Scroll
    项目简介Scroll是2021年由华人创始团队推出的基于zkEVM的以太坊ZKR扩容方案,不同于zkSync的语言级别兼容,Scroll实现了完全EVM等效,即字节码层级兼容,除了数据结构和状态树等部分,zkEVM看起来与以太坊完全一样,由此,现有的以太坊应用程序和工具可以实现无缝迁徙。关键时间点......
  • 基于Sentinel的服务保护方案的三种方式(请求限流、线程隔离、服务熔断)超详细讲解
    目录1、三种方式介绍1.1请求限流1.2线程隔离方案1.3服务熔断2、基于sentinel实现2.1启动sentinel2.2基于springboot整合sentinel2.2.1请求限流2.2.2请求隔离2.2.2.1 OpenFeign整合Sentinel2.2.3服务熔断2.2.3.1编写降级代码2.2.3.2服务熔断1、三种方......
  • C# 调用winmm.dll中的setTimeEvent来创建定时器,数量超过16次后出现异常
    在wpf项目中,为了使用毫秒级定时器,调用了windows提供的winmm.dll中的函数,成功实现了毫秒级定时器功能。但是用了一段时候后,在一个场景下,新建定时器超过16次后,程序抛出了异常。后来查询资料,发现该方法在一个进程内只允许创建最大16个定时器。由于这种场景较少,就没做修改。不过有......
  • 【Redis Zset】Redis Zset多字段排序方案设计
    背景最近拿到多个排行榜相关的需求,按财富值,魅力值等单个或多个字段进行排序默认取前N条数据,考虑使用Redis进行排行榜实现,数据结构使用zset,本文对财富值和魅力值二个或多个字段排序的思路进行说明; 需求背景排行榜,按财富值和魅力值进行倒序排序,优先财富值排序,财富值相同则取魅......
  • 通过 PowerShell,你可以实现强大的安全监控和自动化响应。结合进程、模块、驱动程序、
    在PowerShell中,通过收集进程、模块和驱动程序信息,可以获取有关系统状态、潜在安全问题、恶意活动的指示等数据。这类信息对于安全防护、漏洞分析和系统审计非常重要。下面,我将详细说明如何通过PowerShell来收集这些数据,并加以分析。1. 收集进程信息进程是操作系统中运行的......
  • 智能驾驶HIL仿真测试解决方案
    概述    智能驾驶HIL(HardwareintheLoop)仿真测试验证作为智能驾驶系统开发流程中非常重要的一个环节,可解决智能驾驶系统在测试过程中实车测试效率低、部分工况危险性高、实车测试成本高、难以实现回归测试和部分场景难以实现等问题。    经纬恒润推出的新一代自......