【问题标题】:Schedule a task to update record in database in Spring WebFlux在 Spring WebFlux 中安排任务以更新数据库中的记录
【发布时间】:2021-10-30 10:26:27
【问题描述】:

我使用Spring Webflux,我的问题是我需要在数据库中写入一条记录并运行一个任务,它将在30秒内更新数据库中的这条记录。

例如,假设我向数据库写入状态为“RAW”的对象。记录写入后,计时器应启动,30 秒后此记录的状态应更改为“DONE”。

【问题讨论】:

    标签: spring-webflux project-reactor


    【解决方案1】:

    您可以使用Scheduler.schedule(Runnable task, long delay, TimeUnit unit) 在记录写入后立即安排任务:

    .flatMap(message -> writeRecord(record)
    .doFinally(e -> Schedulers.single().schedule(() -> updateRecordStatus(), 30, TimeUnit.SECONDS));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 1970-01-01
      相关资源
      最近更新 更多