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.
レポートから消えます。 「今日は毎日の仕事を終えた」ので、それは理にかなっていると思います。
問題は、翌日以降は二度と現れないことです。私は何が間違っているのですか?
私は定期的なタスクをいじり回していて、それを理解しました:
いくつかの背景:定期的なタスクを作成すると、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
を生成します)。