Поділитися через


Рекомендації щодо фонових процесів робочих циклів

Цей розділ містить практичні поради щодо створення фонових процесів робочого процесу та керування ними.

Уникнення нескінченних циклів

Можна створити логіку у фоновому робочому процесі, який ініціює нескінченний цикл, який споживає ресурси сервера та впливає на продуктивність. Типова ситуація, коли може виникнути нескінченний цикл, полягає в тому, що фоновий робочий процес настроєно на запуск під час оновлення стовпця, а потім оновлює цей стовпець у логіці робочого процесу. Дія оновлення запускає той самий фоновий робочий процес, який оновлює рядок, і запускає фоновий робочий процес знову й знову.

Створені вами робочі цикли містять логіку для виявлення і зупиники нескінченних циклів. Якщо фоновий процес робочого процесу запускається більше певної кількості разів у певному рядку за короткий проміжок часу, процес завершується помилкою з такою помилкою:Це завдання робочого процесу було скасовано, оскільки робочий процес, який його запустив, містив нескінченний цикл. Виправте логіку робочого процесу та повторіть спробу. Ліміт часу – 16.

Використання фонових шаблонів робочих процесів

Якщо у вас є схожі робочі процеси, і ви плануєте створити більше робочих процесів за тією самою схемою, збережіть фоновий робочий процес як шаблон робочого процесу. Таким чином, наступного разу, коли вам знадобиться створити подібний робочий процес, використовуйте шаблон для створення фонового робочого процесу та уникайте введення всіх умов і дій з нуля.

У діалоговому вікні «Створити процес» виберіть «Новий процес » з наявного шаблону (виберіть зі списку).

Використання дочірніх робочих циклів

Якщо ви застосовуєте одну й ту саму логіку в різних робочих процесах або в умовних гілках, визначте цю логіку як дочірній робочий процес, щоб вам не доводилося копіювати цю логіку вручну в кожному фоновому робочому процесі або умовній гілці. Завдяки цьому можна легше підтримувати ваші робочі цикли. Замість вивчення багатьох робочих циклів, які можуть застосувати ту саму логіку, можна просто оновлювати один робочий цикл.

Автоматичне видалення виконаних завдань фонового робочого процесу

Для фонових (асинхронних) робочих процесів рекомендуємо вибрати параметр Автоматично видаляти завершені завдання робочого процесу (для економії місця на диску) у фоновому визначення робочого циклу. Установлення цього прапорця дозволяє системі видаляти фонові журнали робочих процесів для успішного виконання з метою економії місця. Зверніть увагу, що журнали невдалих фонових виконань робочого процесу завжди зберігатимуться для виправлення неполадок.

Збереження робочих місць у робочому процесі.

Обмежте кількість робочих циклів, які оновлюють одну таблицю

Запуск кількох фонових робочих процесів, які оновлюють одну й ту саму таблицю, може спричинити проблеми із блокуванням ресурсів. Уявіть собі кілька робочих циклів, які запускаються щоразу, коли оновлення потенційної угоди ініціює оновлення пов'язаного бізнес-партнера. Кілька екземплярів таких робочих циклів, які активні та повторюють спроби оновити той самий рядок бізнес-партнера одночасно, можуть призвести до проблеми блокування ресурсу. Виникають збої фонового робочого процесу, і записується повідомлення про помилку, наприклад SQL Timeout: Не вдається заблокувати ім’я ресурсу.

Використання приміток для відстеження змін

Під час редагування робочих циклів слід використовувати вкладку «Примітки», у якій можна вказати, що ви зробили і чому. Це дозволяє іншим зрозуміти зміни, які ви внесли.

Наступні кроки

Налаштування фонових процесів робочого процесу
Моніторинг фонових процесів робочого процесу та керування ними