Просмотров: 8380 (Статистика ведётся с 06.02.2017)

Бизнес процессы - важнейший инструмент, который позволяет автоматизировать рабочие процессы компании. Однако их использование требует определенного навыка и осторожности. В противном случае бизнес-процессы могут создать значительную нагрузку на проект.

На каждом физическом сервере в Битрикс24 одновременно работает несколько порталов, и аномальная нагрузка от одного из них негативно влияет на остальные. Одной из причин аномальной нагрузки могут стать бизнес-процессы.

Для предотвращения подобных ситуаций были введены технические ограничения количества запущенных экземпляров бизнес процесса на одном документе - не более двух. Это означает, что всего одновременно работающих экземпляров бизнес-процессов может быть много, но на каждый конкретный документ - не более двух.

В связи с этим, рекомендуется проверить и скорректировать свои бизнес-процессы. В противном случае, при выявление аномальной нагрузки создаваемой бизнес-процессами, портал может быть заблокирован согласно пункту 8.1 лицензионного соглашения.

Рассмотрим наиболее распространенные ошибки при проектирование бизнес-процессов, которые могут увеличить нагрузку на портал:

  1. Изменения различных полей документа несколькими действиями — достаточно часто встречающая ошибка. Конечно, можно изменять каждое поле документа отдельным действием, однако это значительно увеличивает количество выполняемых запросов при работе бизнес-процесса.

    Рекомендуется изменять все необходимые поля документа в рамках одного действия.

  2. Зацикливание — необходимо тщательно проверять отсутствие зацикливания бизнес-процессов, особенно если используются паузы. В этом случае бизнес процесс не зависнет во время выполнения и ошибку можно не заметить. Но в случае запуска бизнес-процесса на создание документа с ошибкой в условии выхода из цикла, постепенно накопится большое количество экземпляров бизнес-процесса, запущенных для разных документов. Еще более опасный вариант, когда это случается для бизнес-процессов на изменение документа. В этом случае можно быстро накопить большое количество работающих экземпляров бизнес-процесса даже на небольшом количестве документов.

    В некоторых случаях необходимо предусматривать отдельное условие прекращения выполнения циклов, которое обеспечит выход из него, даже если основное условие по каким-либо причинам не было выполнено за разумное время/циклы. Например, на рисунке ниже бизнес-процесс прекращается после того как время обработки лида становится больше 1000 минут, несмотря на то, что статус лида еще не изменился на нужный. Это позволяет останавливать бизнес-процесс, если он не был обработан в рамках разумного времени, например, по причине увольнения ответственного.

  3. Использование проверки статуса в цикле с паузой — бывает, что вместо действия Ожидание стадии сделки используется цикл с паузой. В этом случае при запуске процесса на создание документа, накапливается большое число запущенных экземпляров шаблона бизнес-процесса, для разных документов. При постоянном частом подъеме из паузы они создают нагрузку и в определенный момент могут привести к неработоспособности проекта.

    Правильнее в данном случае использовать действие Ожидание стадии сделки. В этом случае бизнес-процесс проснется только во время смены статуса документа на нужный и не будет создавать нагрузку все остальное время.

  4. Некорректное использование пауз и заданий — данная ошибка случается часто для бизнес-процессов, которые запускаются при изменении документа.

    Использование данных действий может нарушить идеологию и целостность бизнес-процесса, ведь, пока бизнес-процесс будет ожидать их исполнения, исходный документ может быть снова изменен. Поэтому бизнес-процессы, запускаемые на изменение, должны отрабатывать без каких-либо ожиданий и пауз и прекращать свое существование. Если же в бизнес-процессе, запускаемом на изменение, есть паузы, ожидание действий, запрос информации, то можно смело говорить, что бизнес-процесс работает неправильно.

  5. Ошибки при работе с Параллельным ожидания действия – очень часто возникают сложности при работе с этой конструкцией. При ее использовании процесс будет выполняться по той ветке, которая следует за первой выполненной Командой. Но если ни одна из команд не выполнена, то и процесс зависнет и исполняться дальше не будет. Чтобы такого не происходило, всегда стоит добавлять ветку, содержащую Паузу в выполнении. Таким образом, бизнес-процесс продолжит свое исполнение по истечению указанного в нем времени, даже если ни одна из команд не будет выполнена.


  6. 6


    Курсы разработаны в компании «1С-Битрикс»