MCPcopy Index your code
hub / github.com/codnect/chrono / NewSimpleTaskExecutor

Function NewSimpleTaskExecutor

executor.go:35–54  ·  view source on GitHub ↗
(runner TaskRunner)

Source from the content-addressed store, hash-verified

33}
34
35func NewSimpleTaskExecutor(runner TaskRunner) *SimpleTaskExecutor {
36 if runner == nil {
37 runner = NewDefaultTaskRunner()
38 }
39
40 executor := &SimpleTaskExecutor{
41 timer: time.NewTimer(1 * time.Hour),
42 taskQueue: make(ScheduledTaskQueue, 0),
43 newTaskChannel: make(chan *ScheduledRunnableTask),
44 rescheduleTaskChannel: make(chan *ScheduledRunnableTask),
45 taskRunner: runner,
46 shutdownChannel: make(chan chan bool),
47 }
48
49 executor.timer.Stop()
50
51 go executor.run()
52
53 return executor
54}
55
56func (executor *SimpleTaskExecutor) Schedule(task Task, delay time.Duration) (ScheduledTask, error) {
57 if task == nil {

Calls 2

runMethod · 0.95
NewDefaultTaskRunnerFunction · 0.85