gpt4 book ai didi

java - scala ScheduledThreadPoolExecutor

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:36 27 4
gpt4 key购买 nike

我正在尝试在 scala play 框架中实现预定作业。

以下是我的代码:

def subCron = {

val task = new Runnable {
def run() = {
writingToFile(s"Name,Job,M,Age\n", "Media1", "FileName")
}
}

val pool = new ScheduledThreadPoolExecutor(1)

val schedule = pool.scheduleWithFixedDelay(task, 0, 30, TimeUnit.SECONDS);
schedule.cancel(false)

}

基本思想是在特定时间间隔后写入文件。我在 run 中使用 writingToFile 函数,但当我调用该函数时,代码似乎没有执行。

请建议如何使其发挥作用。

最佳答案

计划任务定义后立即被取消,因此不会运行。

除此之外,Akka(Play 中已经自带)还支持调度任务。

import play.api.libs.concurrent.Execution.Implicits.defaultContext
// Delete a file after 10 seconds
val cancellable = system.scheduler.scheduleOnce(10.seconds) {
file.delete()
}

// Print the message "Hi" every 30 seconds, starting after 5 seconds
val cancellable = system.scheduler.schedule(5.seconds, 300.seconds) {
log("Hi")
}

示例改编自:https://www.playframework.com/documentation/2.5.x/ScalaAkka#Scheduling-asynchronous-tasks

关于java - scala ScheduledThreadPoolExecutor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38884074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com