Linux 定时任务 指定次数,GitHub - lwl1989/timing: 一个适用于一次性或者需要重复性任务的执行器,可配合常驻服务实现自动执行定时任务(非类linux CronTab)...

timing

A one-off timed task.

Thanks

ChangeLog

[2018-05-22] Add Export

[2018-05-22] Renamed Tasks to TaskScheduler

[2019-02-23] Add task interface and can rewrite the logic

Quick Start

scheduler := NewScheduler()

scheduler.Start()

scheduler.AddFunc(time.Now().Unix()+1, func() {

fmt.Println("one second after")

})

scheduler.AddTask(&Task{

Job:FuncJob(func() {

fmt.Println("hello task2")

}),

RunTime:time.Now().Unix()+4,

})

//block it

add task

//10 seconds print one

scheduler.AddFuncSpace(10, func() {

fmt.Println("one second after")

})

scheduler.AddTask(&Task{

Job:FuncJob(func() {

fmt.Println("hello task")

}),

Spacing:4 //4 seconds send one

})

scheduler.AddTask(&Task{

Job:FuncJob(func() {

fmt.Println("hello task2")

}),

Spacing:4 //4 seconds send one

Number: 5 //exec 5 num go stop

})

scheduler.AddTask(&Task{

Job:FuncJob(func() {

fmt.Println("hello task3")

}),

Spacing:4 //4 seconds send one

EndTime: 1999999999 // at 199999999 go stop

})

task interface

If you need rewrite a new task

implement TaskInterface

type TaskInterface interface {

TaskGetInterface

TaskSetInterface

}

type TaskSetInterface interface {

SetJob(job Job) TaskSetInterface

SetRuntime(runtime int64) TaskSetInterface

SetUuid(uuid string) TaskSetInterface

SetSpacing(spacing int64) TaskSetInterface

SetEndTime(endTime int64) TaskSetInterface

SetRunNumber(number int) TaskSetInterface

}

type TaskGetInterface interface{

RunJob()

GetJob() Job

GetUuid() string

GetRunTime() int64

GetSpacing() int64

GetEndTime() int64

GetRunNumber() int

}

next

distributed the cron task

Example

Order expire, change order status => fail

Timing of the send message

and more

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值