go 异步回调库jobrunner
1. 简介
1. 包
包路径:github.com/bamzi/jobrunner
地址:https://github.com/bamzi/jobrunner
2. 使用场景
用户登录后给其发邮件或发短信。
不要求实时响应的场景,如果放在处理流程中,会影响请求的响应时间。
2. 使用
1. 支持的操作
Now: process a job immediately
In: processing a job one time, after a given time
Every: process a recurring job after every given time gap
Schedule: process a job (recurring or otherwise) at a given time2. 基本使用
jobrunner.Schedule("* */5 * * * *", DoSomething{}) // every 5min do something
jobrunner.Schedule("@every 1h30m10s", ReminderEmails{})
jobrunner.Schedule("@midnight", DataStats{}) // every midnight do this..
jobrunner.Every(16*time.Minute, CleanS3{}) // evey 16 min clean...
jobrunner.In(10*time.Second, WelcomeEmail{}) // one time job. starts after 10sec
jobrunner.Now(NowDo{}) // do the job as soon as it's triggered3. 为什么放结构体
主要使用cron中的job特性,实现Run()接口,就能当做job来定时运行Run()方法。
最后更新于
这有帮助吗?