HomeCenter V7.58 发布了。更新内容如下:
- 最新版本增加了Quartz包,采用新API优化并封装。
- 编制高级定时Cron任务时,代码逻辑更整洁,支持会话级和工程级Scheduler的自动关闭和释放。
以下用例是除周日外,每30秒执行一次作业(HomeCenter采用JRuby编程语言,曾经Sun公司Netbean所采用)。
import Java::hc.server.util.scheduler.WeeklyJobCalendar
import java.lang.StringBuilder
ctx = Java::hc.server.ui.ProjectContext::getProjectContext()
scheduler = ctx.getScheduler("MyScheduler1")
scheduler.start()
if scheduler.isExistsTrigger("Trigger1") == false
builder = StringBuilder.new(100)
builder.append("ctx = Java::hc.server.ui.ProjectContext::getProjectContext()\n")
builder.append("ctx.showTipOnTray(\"executing job1\")\n")
scheduler.addJob("Job1", builder.toString())#第二个参数是将要执行的脚本
weeklyCalendar = WeeklyJobCalendar.new()
weeklyCalendar.setDayExcluded(java.util.Calendar::SUNDAY, true)#exclude sunday
weeklyCalendar.setDayExcluded(java.util.Calendar::SATURDAY, false)
scheduler.addCalendar("Calendar1", weeklyCalendar)
scheduler.addCronTrigger("Trigger1", "0/30 * * * * ?", "Calendar1", "Job1")
puts "fire time : " + scheduler.getTriggerNextFireTime("Trigger1").toString()
end
最新服务器源代码。