如何管理 taskwarrior 中的重复任务?

Ano*_*ker 7 to-do taskwarrior

我在理解如何在taskwarrior 中管理重复性任务时遇到问题

我从一个空的数据库开始:

$ task
[task next]
No matches.
Run Code Online (Sandbox Code Playgroud)

我添加了一个重复的日常任务:

$ task add recur:daily due:later test
Run Code Online (Sandbox Code Playgroud)

它显示在报告中:

$ task
[task next]

ID Age Recur Due   Description Urg 
 2 -     P1D 19.2y test         2.4

1 task
Creating recurring task instance 'test'
Run Code Online (Sandbox Code Playgroud)

如果我将其标记为这样:

$ task 2 done
Completed task 2 'test'.
Completed 1 task.
$ task
[task next]
No matches.
Run Code Online (Sandbox Code Playgroud)

它从报告中消失。我相信这是有道理的,因为“我今天完成了日常任务”。

问题是它在第二天甚至更远的地方再也不会出现。我究竟做错了什么?

use*_*596 8

我在处理重复性任务并想通了:

一些背景:创建重复性任务会创建一个parent生成child任务的任务。
来自:https : //taskwarrior.org/docs/recurrence.html

通过一些测试,我发现使用以下命令:

    (ins)[>]task add "test" recur:5s due:30s
    Created task 27 (recurrence template).
Run Code Online (Sandbox Code Playgroud)

首先,due影响第一个子任务。每个子任务在到期时间(在我的示例中30 秒)之后产生,然后在重复时间(示例中为 5 秒)

    (ins)[>]task
    [task next]

    ID Age Deps P Project Recur Due  Description
    22 -                   PT5S 30s  test

    #some time later...

    (ins)[>]task
    [task next]

    ID Age Deps P Project Recur Due  Description
    22 60s                 PT5S -30s test
    23 30s                 PT5S -25s test
    24 25s                 PT5S -20s test
    25 20s                 PT5S -15s test
    26 15s                 PT5S -10s test
    27 10s                 PT5S -5s  test
    28  5s                 PT5S -    test
    29  0s                 PT5S 5s   test
Run Code Online (Sandbox Code Playgroud)

然而,due还会影响另一件事:当第二个子任务生成时(第二个子任务在递归时间到期,因此第三个子任务在递归时间后生成,依此类推)。

这就是为什么你看不到你的第二个孩子的任务,因为你必须在到期日设置为later这是19.2 years根据你的例子在未来的时间; 因此,第二个子任务只会在19.2 years一段时间后生成(之后每个子任务都会生成daily)。