web-dev-qa-db-ja.com

taskwarriorで定期的なタスクを管理する方法は?

taskwarrior で定期的なタスクを管理する方法を理解するのに問題があります

私は空のデータベースから始めます:

$ task
[task next]
No matches.

定期的な毎日のタスクを追加します。

$ task add recur:daily due:later test

レポートに表示されます:

$ task
[task next]

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

1 task
Creating recurring task instance 'test'

このようにマークすると、次のようになります。

$ task 2 done
Completed task 2 'test'.
Completed 1 task.
$ task
[task next]
No matches.

レポートから消えます。 「今日は毎日の仕事を終えた」ので、それは理にかなっていると思います。

問題は、翌日以降は二度と現れないことです。私は何が間違っているのですか?

2
AnonymousLurker

私は定期的なタスクをいじり回していて、それを理解しました:

いくつかの背景:定期的なタスクを作成すると、parentタスクが作成されてchildタスクが生成されます。
from: https://taskwarrior.org/docs/recurrence.html

いくつかのテストで、私はこのコマンドでそれを見つけました:

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

まず、dueは最初の子タスクに影響します。 due-time(私の例では30秒)の後に生成されたすべての子タスクは、recur-time(例では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

ただし、dueはもう1つ影響します:2番目の子タスクが生成されたとき(2番目の子タスクの期限はrecur-timeなので、3番目の子タスクはrecur-timeなどの後に生成されます。

これが、例によれば、期日がlaterに設定されているため、2番目の子タスクが表示されない理由です。これは19.2 years時間です。したがって、2番目の子タスクは19.2 years時間後にのみ生成されます(その後、各子タスクはdailyを生成します)。

1
user821596