Osvědčené postupy pro pracovní postupyBest practices for workflow processes

Toto téma obsahuje osvědčené postupy pro vytváření a správu pracovních postupů.This topic contains best practices for creating and managing workflow processes.

Zabránění nekonečným smyčkámAvoid infinite loops

Je možné vytvořit logiku v pracovním postupu, která spustí nekonečnou smyčku, jež spotřebovává prostředky serveru a ovlivňuje výkon.It’s possible to create logic in a workflow that initiates an infinite loop, which consumes server resources and affects performance. Typickou situací, u níž může dojít k nekonečné smyčce, je, pokud máte pracovní postup, který je nakonfigurován na spuštění v případě, že je aktualizován atribut a poté aktualizuje tento atribut v logice pracovního postupu.The typical situation where an infinite loop might occur is if you have a workflow configured to start when an attribute is updated and then updates that attribute in the logic of the workflow. Akce aktualizace spustí stejný pracovní postup, který aktualizuje záznam a opakovaně spouští pracovní postup.The update action triggers the same workflow that updates the record and triggers the workflow again and again.

Vytvořené pracovní postupy zahrnují logiku detekce a zastavení nekonečných smyček.The workflows you create include logic to detect and stop infinite loops. Pokud je pracovní postup u určitého záznamu opakovaně spouštěn v krátké době, proces se nezdaří s následující chybou: Tato úloha pracovního postupu byla zrušena, protože pracovní postup, který ji spustil, obsahoval nekonečnou smyčku. Opravte logiku pracovního postupu a opakujte akci..If a workflow process is run more than a certain number of times on a specific record in a short period of time, the process fails with the following error: This workflow job was canceled because the workflow that started it included an infinite loop. Correct the workflow logic and try again. Maximální počet opakování je 16.The limit of times is 16.

Použití pracovního postupuUse workflow templates

Pokud máte pracovní postupy, které jsou podobné, a předpokládáte, že budete vytvářet více pracovních postupů podle stejného vzoru, uložte pracovní postup jako šablonu pracovního postupu.If you have workflows that are similar and you anticipate creating more workflows that follow the same pattern, save your workflow as a workflow template. Pokud budete příště potřebovat vytvořit podobný pracovní postup, vytvořte jej pomocí šablony, abyste nemuseli zadávat všechny podmínky a akce znovu od začátku.This way, the next time you need to create a similar workflow, create the workflow using the template and avoid entering all the conditions and actions from scratch.

V dialogovém okně Vytvořit proces vyberte Nový proces z existující šablony (vyberte ze seznamu).In the Create Process dialog, choose New process from an existing template (select from list).

Použití podřízených pracovních postupůUse child workflows

Pokud používáte stejnou logiku v různých pracovních postupech nebo v podmínkových větvích, definujte tuto logiku jako podřízený pracovní postup, abyste nemuseli replikovat tuto logiku ručně v každém pracovním postupu nebo podmínkové větvi.If you apply the same logic in different workflows or in conditional branches, define that logic as a child workflow so you don’t have to replicate that logic manually in each workflow or conditional branch. To usnadňuje správu pracovních postupů.This helps make your workflows easier to maintain. Namísto přezkoumávání mnoha pracovních postupů, které mohou používat stejnou logiku, vám stačí aktualizovat jeden pracovní postup.Instead of examining many workflows that may apply the same logic, you can just update one workflow.

Automatické odstranění dokončených úloh pracovních postupůAutomatically delete completed workflow jobs

Pro pracovní postupy na pozadí (asynchronní) doporučujeme v definici pracovního postupu zaškrtnout možnost Automaticky odstraňovat dokončené úlohy pracovních postupů (pro úsporu místa na disku).For background (asynchronous) workflows, we recommend selecting the Automatically delete completed workflow jobs (to save disk space) option in the workflow definition. Zaškrtnutím tohoto políčka umožníte systému odstranit protokoly pracovního postupu o úspěšném provedení, čímž se šetří místo na disku.Checking this box allows the system to delete workflow logs for successful executions to save space. Protokoly neúspěšných provedení pracovních postupů se však v zájmu řešení problémů vždy ukládají.Notice that logs from failed workflow executions will always be saved for troubleshooting.

Zachování úloh pracovních postupů

Uchovat protokoly úloh pracovních postupů, ve kterých se stala chybaKeep logs for workflow jobs that encountered errors

Pro pracovní postupy, které se nespouštějí na pozadí (synchronní), doporučujeme v definici pracovního postupu zaškrtnout políčko Uchovat protokoly úloh pracovních postupů, ve kterých se stala chyba.For workflows that don't run in the background (synchronous), we recommend selecting the Keep logs for workflow jobs that encountered errors option in the workflow definition. Zaškrtnutím tohoto políčka umožníte ukládání protokolů z neúspěšných provedení pracovních postupů v zájmu řešení problémů.Selecting this option allows logs from failed workflow executions to be saved for troubleshooting. Protokoly z úspěšných synchronních provedení pracovních postupů se vždy odstraní, aby se šetřilo místo na disku.Logs from successful synchronous workflow executions will always be deleted to save space.

Možnost uchování protokolů pro neúspěšně zpracované pracovní postupy

Omezení počtu pracovních postupů, které aktualizují tutéž entituLimit the number of workflows that update the same entity

Spuštění více než jednoho pracovního postupu, který aktualizuje tutéž entitu, může způsobit problémy se zamykáním prostředku.Running more than one workflow that updates the same entity can cause resource lock issues. Představte si několik probíhajících pracovních postupů, ve kterých každá aktualizace příležitosti vyvolá aktualizaci přidruženého obchodního vztahu.Imagine several workflows running where every opportunity update triggers an update to the associated account. Více instancí těchto spuštěných pracovních postupů snažících se aktualizovat tentýž obchodní vztah ve stejnou dobu může způsobit problémy se zamykáním prostředku.Multiple instances of these workflows running and attempting to update the same account record at the same time can result in resource locking issues. Dojde k selhání pracovního postupu a zaznamená se chybová zpráva, například Časový limit serveru SQL: Nelze získat zámek pro prostředek název prostředku.Workflow failures occur and an error message, such as SQL Timeout: Cannot obtain lock on resource resource name, is recorded.

Používejte kartu Poznámky pro sledování změnUse Notes to keep track of changes

Během úprav pracovních postupů byste měli používat kartu Poznámky a zapisovat si, co jste udělali a proč.When you edit workflows you should use the Notes tab and type what you did and why you did it. Ostatním tak pomůžete pochopit vámi provedené změny.This allows someone else to understand the changes you made.

Další krokyNext steps

Přehled procesů pracovních postupů Workflow processes overview
Konfigurace procesů pracovních postupů Configure workflow processes
Monitorování a správa procesů pracovního postupuMonitor and manage workflow processes