<< Click to Display Table of Contents >> Разработка > Рекомендации по разработке для масштабируемых систем > Оптимизация работы с сущностями Вызов асинхронного обработчика при сохранении карточки |
При сохранении карточки сущности не рекомендуется использовать безусловный вызов асинхронного обработчика. Это связано с тем, что если сохранение карточки вызывается многократно в рамках одного процесса или вызывается в другом асинхронном обработчике с возможностью переповтора, то очередь RabbitMQ разрастается и сообщения занимают место на диске. В результате это может привести к неработоспособности RabbitMQ.
При настройке вызова асинхронного обработчика используйте рекомендации:
•не запускайте обработчик на каждое сохранение карточки. Проанализируйте, при каких изменениях свойств это необходимо делать. Например, при изменении статуса документа не нужно вызывать обработчик для выдачи прав доступа;
•удалите вызов асинхронного обработчика из сохранения карточки или перенесите его в фоновый процесс, который будет выполняться по расписанию;
•программно отключите вызов асинхронного обработчика при сохранении карточки. Например, в Directum RX подобным образом используется отключение обработчика GrantAccessRightsToDocument (Асинхронная выдача прав на документ). Подробнее см. в разделе «Особенности назначения прав при миграции документов».
© Компания Directum, 2024 |