Průvodce úkoly

Tato stránka popisuje pořadí fronty na stránce Průvodce úkoly.

Zařazení do fronty

Průvodce pracuje s Jira tickety typu Organize a Meeting, které jsou přiřazené aktuálnímu uživateli. Budoucí odložený ticket ve stavu DEFERRED se ve frontě nezobrazuje před hodnotou Next Action At Time. Když čas odložení nastane, worker ho vrátí do stavu READY FOR CALL a zachová Next Action At Time pro řazení fronty.

Každý zobrazený ticket patří do první odpovídající skupiny v tomto pořadí:

  1. Splatné odložené hovory
  2. Hovory, jejichž Next Action At Time už nastal.
  3. Uvnitř skupiny se řadí podle Next Action At Time sestupně, tedy nejnovější splatný čas jako první.
  4. Hovor odložený na dnešek nebo právě teď proto dostane přednost před nevyřízeným hovorem odloženým například minulý týden.
  5. Ostatní hovory ve fázi volání
  6. Zbývající tickety ve stavu READY FOR CALL, které nepatří do první skupiny.
  7. Tato skupina zahrnuje první i opakovaný pokus o volání; Attempt Counter zůstává metadatem průběhu hovoru.
  8. Uvnitř skupiny se řadí podle Jira updated vzestupně.
  9. Úkoly čekající na přijetí řešení
  10. Tickety ve stavu WAITING FOR ACCEPTANCE.
  11. Zobrazí se až po všech ticketech z prvních dvou skupin.
  12. Uvnitř skupiny se řadí podle Jira updated vzestupně.

Invarianty

  • Ticket se ve frontě objeví nejvýše jednou.
  • Překryv skupin se řeší pravidlem první odpovídající skupiny.
  • Budoucí Next Action At Time nesmí předčasně zpřístupnit odložený hovor.
  • Lokálně odložený ticket pomocí akce pro dočasné přeskočení se nezobrazuje po dobu aktivního odložení.

Implementace

reply-pilot-app/reply_pilot_app/workflows/work_wizard.py načte tři samostatně seřazené seznamy Jira klíčů v pořadí skupin výše, odstraní případné duplicity a vybere první dostupný lokální ticket. První dotaz používá Next Action At Time DESC, updated ASC; druhý a třetí používají updated ASC.

Resume workflow v reply-pilot-be po návratu ticketu do READY FOR CALL vyčistí pomocná pole pro pokračování workflow, ale zachová Next Action At Time. Worker proto již zpracovaný ticket znovu nevybere, zatímco průvodce může použít původní čas odložení pro přesné pořadí.