Plugin pro plánování
V hlavní navigaci otevřete Automatizace a spravujte zde naplánované prompty. Volitelný plugin cronjob přidává tuto stránku, pět chatovacích nástrojů pro vytváření a správu plánů a skill elowen-scheduling. S výběrem a vytvořením plánu vám pomůže část Plánování.
Opakované úlohy a jednorázová probuzení
Pro práci, která se opakuje, použijte CronAdd, například every 2h nebo daily 07:30. Opakovaná úloha běží, dokud ji nepozastavíte nebo nesmažete. Smazání Projektu odstraní i plány, které jsou k němu výslovně vázané; plány pro instanci a plány jiných Projektů zůstanou. Pomocí ScheduleWakeup se jednou vraťte do konverzace, po prodlevě jako in 20m nebo v čase jako at 18:30. Prodlevu v sekundách lze zadat od pěti sekund, například in 30s. Probuzení se spustí jednou a pak se odstraní.
Osobní úlohy běží s oprávněními svého vlastníka a se zásadami Projektu. Osobní opakovaná úloha vytvořená v přímém chatu platformy posílá výsledky zpět do tohoto chatu. Úloha vytvořená jinde, včetně webového chatu a sdílených místností, má pro výsledky vlastní konverzaci pojmenovanou podle úlohy. Jednorázové probuzení se vrátí do konverzace, ve které vzniklo, pokud tato konverzace patří jeho vlastníkovi nebo jde o přímý chat. Probuzení vytvořené ve sdílené místnosti běží ve vlastní konverzaci pojmenované podle úlohy.
Úlohy pro instanci nemají osobního vlastníka a běží s oprávněními vlastníka instance. Vytvořit je může jen vlastník instance. Hlásí se do oznamovacího kanálu, pokud úloha neurčí cílový kanál.
Přehled a správa úloh
V hlavní navigaci otevřete Automatizace, kde uvidíte plány, vlastníky, aktivní hodiny, kontrolní příkazy, prompty, modely, stav a poslední výsledky. Úlohu můžete pozastavit nebo smazat, zařadit okamžité spuštění opakované úlohy (Spustit teď; jednorázová probuzení spustit ručně nelze) a použít průvodce plánem pro interval, denní nebo týdenní plán. Pokročilý režim přijímá pětipolové cron výrazy. Skupiny Plán a Pokročilé jsou zpočátku sbalené a u každé úlohy si pamatují vaši volbu. Typ plánu, jednotka intervalu, režim aktivních hodin a vlastník se vybírají z nabídek. Při vytváření jsou k dispozici i nabídky předvoleb a navrženého času, přičemž všechny vyplněné hodnoty zůstávají upravitelné. Změny se obvykle projeví do 30 sekund. Záložka Historie uchovává jednotlivá spuštění sedm dní a starší denní součty devadesát dní. Denní součty mají vlastní stránkování a žádné akce pro spuštění ani přepis. Historie uchovává minulá spuštění s jejich výsledkem a vlastník úlohy dostane upozornění, když spuštění selže nebo se jeho výsledek nepodaří doručit.
Vytvoření, uložení nebo smazání úlohy obnoví seznam úloh, kalendář, historii spuštění a odkazy na konverzace. Spustit teď je dostupné z panelu úlohy, z karty v kalendáři a z výsledku neúspěšného spuštění. Na počítači přidá Spustit teď přijaté spuštění do doku operací na pozadí. Dok ukazuje čekání, průběh a výsledek, po obnovení stránky uchová nedokončenou nebo nezobrazenou práci a nabízí Otevřít historii právě pro toto spuštění. Položku vidí jen účet, který na Spustit teď klikl, a to i u administrátorů. Zavřením nebo odesláním dokončeného spuštění v doku ho potvrdíte. Pokud se před začátkem zařazeného ručního spuštění změní vlastník úlohy, spuštění se s výslovným důvodem vynechá a fronta se vyprázdní. Nový vlastník pak může spustit samostatné spuštění. Převzaté spuštění už běží, zatímco se vykonává jeho kontrolní příkaz; smazání úlohy pak nechá toto spuštění doběhnout a jeho výsledek zůstane v historii. Na telefonech si Spustit teď zachová zpětnou vazbu o zařazení a historii bez položky v doku. Odkaz na konkrétní spuštění otevře přímo jeho uchovaný výsledek. Spuštění, která se přerušila, nesou označení Přerušeno, nikdy Úspěšné.
CronList zobrazí úlohy, které máte k dispozici, jejich ID, plány a poslední výsledky spuštění. CronRemove trvale smaže úlohu nebo čekající probuzení. Pokud chcete úlohu později znovu zapnout, pozastavte ji. Osobní úlohy jsou soukromé pro svého vlastníka; administrátoři navíc vidí úlohy pro instanci.
Kalendář a historie
Záložka Kalendář na stránce Automatizace ukazuje, kdy se úlohy spouštějí. Mezi Den a Týden přepínáte ovládáním zobrazení kalendáře a časem se pohybujete pomocí Předchozí týden, Následující týden a Dnes. Stránku zúžíte filtry Vlastník, Stav, Typ a Období. Karta každého dne vypisuje spuštění a naplánované časy daného dne. Pruh Opakované úlohy ukazuje každou opakovanou úlohu s jejím dalším spuštěním a panel úlohy zobrazuje Další spuštění. Zatímco píšete plán, Nejbližší spuštění: vypisuje několik následujících časů, kdy se úloha spustí.
Záložka Historie vypisuje minulá spuštění a denní součty, s filtrem Výsledek. Náhledy výsledků se uchovávají do 2 000 znaků.
Nástroje
| Nástroj | Co dělá |
|---|---|
CronAdd |
Vytvoří opakovaný prompt s plánem, rozsahem a konverzací pro zařazení. |
ScheduleWakeup |
Naplánuje jedno probuzení, které obnoví konverzaci, ze které vzniklo. |
CronList |
Vypíše viditelné úlohy a čekající probuzení. |
CronConversations |
Vypíše konverzace, do kterých lze opakovanou úlohu zařadit. |
CronRemove |
Trvale odstraní úlohu podle jejího ID. |
Opakovaná úloha musí obsahovat scope (personal nebo instance) a conversationSessionId. Vhodné ID konverzace získáte z CronConversations. Zařazení úlohy ji jen seskupí v seznamu konverzací; nemění jejího vlastníka, oprávnění, Projekt pro spuštění ani místo doručení výsledků. Jednorázové probuzení zařazenou konverzaci nepotřebuje.
Vytvoření opakované úlohy
Než plán přidáte, ověřte pomocí CronList, že nebude duplikovat existující úlohu. Potom zavolejte CronConversations, získejte vhodnou konverzaci pro zařazení a předejte její ID výslovně do CronAdd; aktuální konverzace bývá správná, ale nikdy se nepředpokládá. Osobní úlohy lze zařadit jen do konverzace, která patří jejich vlastníkovi. Ve sdílené místnosti výpis soukromé konverzace neodhaluje.
Zvolte scope: personal pro připomínku nebo opakovaný úkol, který patří osobě, s níž mluvíte. Osobní opakované úlohy vytvořené v přímém chatu platformy jeden na jednoho doručí výsledky tam; úlohy vytvořené z webového chatu nebo z jiné konverzace běží ve vyhrazené konverzaci pojmenované podle úlohy. Konverzace pro zařazení určuje jen to, kde se úloha objeví v seznamu konverzací. Nepoužívejte ji k odhadu, kam se doručí výsledky.
Například požádejte o ranní přehled nové práce ve všední dny. Vytvořte osobní úlohu s plánem jako daily 08:57, přidejte prompt popisující přehled a zařaďte ji do konverzace, kde chce uživatel plán později najít. Po vytvoření úloha čeká na nejbližší naplánovaný čas; nespustí se hned. Pokud se chcete ozvat jen jednou, použijte místo toho ScheduleWakeup s in 20m nebo at 18:30. Probuzení obnoví konverzaci, ve které vzniklo, i s jejím kontextem.
scope: instance může použít jen vlastník instance. Úloha pro instanci nemá osobního vlastníka, běží s oprávněními vlastníka instance a posílá výsledky do oznamovacího kanálu instance, pokud neurčí cílový kanál. Osobní úloha může cílový kanál nastavit jen tehdy, když ho nastaví vlastník instance.
Instalace a přidělení přístupu
Plugin cronjob nainstalujte v Nastavení → Dostupné pluginy. Vyžaduje jádro Elowen 0.30.11 nebo novější. Elowen běží na Linuxu a kontrolní příkazy se spouštějí v systémovém shellu Linuxu. Abyste účtu povolili jeho nástroje a skill:
- Otevřete Uživatelé a vyberte uživatele.
- V části Povolené pluginy použijte tlačítko Spravovat, které čtečky obrazovky ohlásí jako Spravovat přidělené pluginy.
- Vyberte
cronjoba uložte.
Administrátor nemá žádnou výjimku: potřebuje stejné povolení jako kdokoli jiný. Instalace, zapnutí, vypnutí nebo uložení nastavení pluginu restartuje Elowen. Obrazovka nastavení oznámí: „Změna je uložená. Elowen se teď restartuje, aby ji načetla.“ Pokud restart nemůže proběhnout hned, oznámí: „Změna je uložená. Projeví se při příštím spuštění démona.“
Nastavení
Nastavení pluginu najdete v Nastavení → Pluginy → cronjob. Hodnoty jsou volitelné a používají tyto výchozí hodnoty. Dva nadpisy sekcí, Plánovač a Limity účtu, nejsou konfigurovatelné hodnoty. Nastavení v milisekundách zobrazují ms a nejkratší interval opakování min. Tyto jednotky mění jen zobrazení, ne uložené hodnoty. Podrobná nápověda je u popisku pole.
| Nastavení | Výchozí | Povolený rozsah |
|---|---|---|
| Interval kontroly | 30 sekund | 10–120 sekund |
| Počet pokusů | 2 celkem | 1–5 |
| Prodleva mezi pokusy | 3 sekundy | 1–30 sekund |
| Časový limit kontroly | 60 sekund | 10–300 sekund |
| Počet znaků výstupu kontroly | 32 000 znaků | 2 000–200 000 |
| Okno dohledání zmeškaných cron spuštění | 24 hodin | 1 hodina–7 dní |
| Úloh na účet | 20 | 1–200 |
| Nejkratší interval | 15 minut | 1–1 440 minut |
Limity plánů a zmeškaná spuštění
Plány přijímají intervaly jako every 15m a every 2h, denní a týdenní časy nebo standardní pětipolový cron výraz. Plánovač kontroluje práci k provedení ve výchozím stavu každých 30 sekund, takže nový nebo změněný plán se může projevit zhruba za půl minuty.
Každý účet, včetně vlastníka instance, může mít až 20 osobních úloh. Na úlohy pro instanci se tyto limity osobních úloh nevztahují. Dokud osobní úloha není privilegovaná, nemůže použít pětipolový cron plán, kontrolu v shellu hostitele, cílový kanál ani interval kratší než nejkratší interval, což je ve výchozím stavu 15 minut. Úloha je privilegovaná, když si ji vlastník instance nastaví pro sebe, nebo když patří jinému účtu a ten je administrátor. Kontrola, která běží ve spravovaném Projektu, je povolena u každé osobní úlohy. Opakovaná úloha může určit Projekt pro spuštění (Projekt pro spuštění), takže její soubory a příkazy běží tam; plány se spravovaným Projektem musí být osobní.
Pokud účet ztratí povolení tohoto pluginu, jeho úlohy se při každém termínu vynechají a nesmažou. Jakmile se povolení obnoví, budou znovu běžet.
Volitelný příkaz check se spustí před promptem. Pokud selže nebo nic nevypíše, asistent se nevolá. Jinak se jeho výstup zahrne do spuštění. Kontrola běží na hostiteli nebo, když je vybraný Projekt pro spuštění, v kořenovém adresáři tohoto Projektu, tedy ve stejném adresáři jako jeho soubory.
Po výpadku může pětipolový cron plán spustit poslední zmeškaný výskyt v rámci okna dohledání; frontu zmeškaných spuštění nepřehrává. Denní a týdenní plány zmeškané dny nepřehrávají a intervaly nepřehrávají zmeškané kontroly. Okna aktivních hodin jako 5-21 udrží úlohu v klidu mimo tyto hodiny; okna přes půlnoc jako 22-5 jsou podporovaná. Tato okna používají jen celé hodiny.
Intervaly počítají uplynulý čas. Denní, týdenní a cron plány se řídí hodinami v nastaveném časovém pásmu. Týdenní plány přijímají zkratky dnů od sun do sat. Pětipolový cron podporuje zástupné znaky, hodnoty, rozsahy, kroky, seznamy oddělené čárkou a názvy měsíců a dnů. Neděle může být 0 nebo 7. Pokud jsou omezená obě pole, den v měsíci i den v týdnu, stačí shoda jednoho z nich. Při podzimní změně času se opakovaný naplánovaný čas spustí jednou; jarní čas, který neexistuje, se pro ten den vynechá.
Opakování a doručení
Úlohy se ukládají trvanlivě a přežijí restart démona. Opakovaná úloha může před vytvořením výstupu znovu zkusit dočasné selhání požadavku, ve výchozím stavu dvakrát. Pokud spuštění už něco vykonalo, plugin doručí chybu, místo aby opakoval možné vedlejší účinky. Jednorázová probuzení se neopakují. Pokud doručení výsledku selže, výsledek se zařadí k dalšímu pokusu bez opětovného spuštění promptu; současně může čekat až 50 doručení a při překročení limitu se nejstarší zahodí. Obrázky, které spuštění sdílí, se doručí s jeho výsledkem a zařazená doručení si je pro opakování ponechají. Doručené zprávy obvykle začínají názvem úlohy. Pro persona zprávu ve vyhrazeném kanálu nastavte plain: true. Spuštění, které nemá co hlásit, nepošle žádnou zprávu, pokud nesdílelo obrázky; pak se pošlou jen obrázky.