Для транзакций СУБД нужно использовать как можно более короткое время исполнения. В момент транзакции записи или целые таблицы могут быть заблокированы как на запись, так и на чтение (зависит от операции). В целом мы не рекомендуем использовать транзакции в СУБД без необходимости.
По умолчанию срок выполнения БП не ограничен, однако его фактическая максимальная длительность зависит от множества параметров:
- Как был запущен БП? Если через вызов эндпоинта, то максимальная длительность выполнения будет равна длительности активного соединения в целом не более 5 минут (иногда 10 если нет CDN).
- Для асинхронных БП и вызыванных из планировщика нет жестких лимитов на длительность исполнения. Однако приложение может быть перезапущено если будет перерасход CPU или оперативной памяти.
В будущем мы планируем вводить ограничение на максимальную длительность выполнения БП если приложение работает в нашем облаке. Мы время от времени сталкиваемся с проектами, в которых из-за неправильно реализованной логики постоянно высокое потребление ресурсов.