xiaoxuxiansheng/xtimer

redis时间轮,删除任务设置120s的困惑

Opened this issue · 0 comments

  1. redis时间轮实现,删除任务是通过添加redis实现,为什么设置120s的过期时间,如果执行时间超过120s,那该任务不就是删除失效了吗?
  2. 在使用中
	if err := rTimeWheel.AddTask(ctx, "test2", &RTaskElement{
		CallbackURL: callbackURL,
		Method:      callbackMethod,
		Req:         callbackReq,
		Header:      callbackHeader,
	}, time.Now().Add(4*time.Second)); err != nil {
		t.Error(err)
		return
	}

	if err := rTimeWheel.RemoveTask(ctx, "test2", time.Now().Add(4*time.Second)); err != nil {
		t.Error(err)
		return
	}

如果当 rTimeWheel.AddTask 和 rTimeWheel.RemoveTask 输入的时间不一致会怎么样?如果用test2作为任务的key,感觉无需再输入执行时间了,是否可以使用类似非redis版中的map去记录这个信息