Taskwarrior
如何管理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.
它從報告中消失。我相信這是有道理的,因為“我今天完成了日常任務”。
問題是它再也不會在第二天甚至更遠的地方再次出現。我究竟做錯了什麼?
顯然,重複任務應該具有相同的同伴到期設置。例如:
$ task add "a daily recurring task" recur:daily due:eod $ task add "a weekly recurring task" recur:weekly due:eow $ task add "a monthly recurring task" recur:monthly due:eom
這樣,可以將每日任務標記為已完成,直到第二天才會再次出現
每週/每月等任務相同
在我深入研究工作細節之前,請注意重複性不是精心設計的。我帶來的是經驗觀察,並且可能會隨著返工而改變。
TLDR;我如何使用和理解復發
task add recur:<duration> due:<first task due date> until:<delete first task by date> wait:<date when task will appear> "my task"
例子:
task add recur:daily due:9:00 until:12:00 wait:5:00 eat breakfast
- 早上 9:00 吃早餐
- 隱藏任務直到凌晨 5:00
- 在午餐時間刪除任務
- 每天創造一個新的事件
細節
重複需要一個
due
屬性(通過驗證檢查強制執行)。Recurrence 也可以使用until
和wait
屬性,如果它們存在的話。復發不使用scheduled
。並且有一個mask
屬性,它跟踪任務是哪個重複實例。創建新的重複實例時:
new task due
=parent due
+recur
*mask
until
和_wait
scheduled
從父任務批量複製。實際上,這種意外行為不會破壞您的工作流程,只會影響過濾器和扭曲緊迫性。我之所以這麼說是因為我花了很長時間才發現這沒有按預期工作。每次
taskwarrior
執行時,它都會檢查是否該創建下一個事件。偽方程為:now >= due + recur * (mask + 1)`
請注意,有一個配置值 ,
rc.recurrence.limit
可用於告訴 taskwarrior 在更遠的地方創建更多事件。您可以預期下一個事件將在前一個事件的到期日期創建。