Revel 计划任务


当前第2页 返回上一页

在 app.conf定义你的时间表,:

cron.workhours_15m = 0 */15 9-17 ? * MON-FRI

使用一个cron规范指定时间表,就可以在任何地方引用它。

func init() {
    revel.OnAppStart(func() {
        jobs.Schedule("cron.workhours_15m", ReminderEmails{})
    })
}

注意: cron 时间表的名字必须以 “cron.”开头

临时任务

有时候在响应用户的一个操作时,还要处理一些事情。在这种情况下,模块可以在某个时间运行一个任务。

模块提供的唯一控制是等待多长时间运行任务。

type AppController struct { *revel.Controller }

func (c AppController) Action() revel.Result {
    // 处理请求
    ...

    // 立即发送电子邮件(异步)
    jobs.Now(SendConfirmationEmail{})

    // 或者,一分钟后发送电子邮件(异步)。
    jobs.In(time.Minute, SendConfirmationEmail{})
}

注册函数

通过使用jobs.Func类型包装一个func()函数,来注册一个任务。例如:

func sendReminderEmails() {
    // 查询数据库
    // 发送电子邮件
}

func init() {
    revel.OnAppStart(func() {
        jobs.Schedule("@midnight", jobs.Func(sendReminderEmails))
    })
}

任务状态

模块提供了一个状态页面,用来显示任务的运行状态(IDLE 或 RUNNING), 以及之前和下次运行时间。


标签:Revel

返回前面的内容

相关阅读 >>

Revel 过滤器

Revel 模块概要

Revel results

Revel 常见问题

Revel 路由routes

Revel 控制器概要

Revel 参数绑定

Revel 部署

Revel 消息处理

Revel 版本控制

更多相关阅读请进入《Revel》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...