Основная головная боль Salesforce Developer - Understanding Execution Governors and Limits

Как бы красиво сказка об облаках не звучала, но облака накладывают свои ограничения. За свободу от железа придется платить тем, что необходимо делить это железо с другими. У вас никогда не получится зациклить программу или заставить ее работать долгие часы обрабатывая тонны информации. Все жестко лимитировано. Говоря все, я подразумеваю ВСЕ! Куда не ткнись, везде ограничения.

Поэтому, проектируя любую задачу, необходимо прежде всего отталкиваться от этих самых лимитов. Не буду здесь приводить эти самые цифры, потому что они постоянно меняются. Вот  ссылка на документацию Understanding Execution Governors and Limits.



Повторюсь - это очень важный момент, который необходимо знать и учитывать.

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

Отвечаю - можно. Просто придется немного изменить подход к разработке алгоритмов.

Из моего опыта, могу сказать что основными препятствиями могут стать:
- количество SOQL запросов (аналог SQL только для SELECT);
- количество возвращаемых значений;
- количество DML операций (INSERT, UPDATE, DELETE);
- размер данных передаваемых из контроллера в представления (View state);
- количество внешних запросов (HTTP requests or Web services calls);
и, собственно, так далее.

Все эти моменты обходятся путем специальных техник программирования, разбиением данных на части, использование batch apex, отказом стандартного функционала visualforce в пользу самописных решений на javascript (jQuery). В общем, на что фантазии хватит.

На страницах этого блока я буду выкладывать примеры проблем, связанных с лимитами, и пути их решения.

Комментарии

Популярные сообщения из этого блога

Начало работы, первые шаги, hello world в Salesforce