우리는 모든 프로젝트에 대한 비용 요약을 단일 테이블에 표시해야한다는 비즈니스 요구 사항이 있습니다.SFDC의 보고서로 총재 한도
이러한 비용을 표로 만들기 위해 모든 클라이언트 작업, 지역, 직무 역할, 임금 비율, 비용 테이블, 산출물, 노력 및 시간 기록을 조회해야합니다 (클라이언트 작업은 동일한 테이블 및 작업 및 지역에 있습니다). 산출물, 노력 및 시간은 월간 합계로 저장됩니다).
내가 모든 것을 반복하기 전에이 모든 것을 쿼리해야하기 때문에 많은 수의 스크립팅 라인이 매우 빠르게 실행됩니다. 계산적으로 O (m * n * o * p)와 비슷하며 일부 프로젝트에는 네 가지 변수가 매우 빠르게 올라갑니다. 이를 수행하는 방법에 대한 나의 견적은 9 천만 라인의 코드에서 6 천억 개의 코드까지 다양합니다.
우리 200 개 일괄로 작업 영역으로이를 해체 할 수 일괄 에이펙스를 사용하지만 잘 Salesforce의 한도 이상의 코드 (중 (600 B/200) = 30 억 라인 계산 프로파일을 감소시킬 것이다.
우리는 이러한 대규모 계산을 위해 informatica를 사용하여 놀았지만 (1) 최종 사용자가 5 분 이상 기다릴 수는 없지만 모든 데이터를 전송하는 경우 모든 레코드의 90 % 프로젝트는 한 번에 업데이트 됨) informatica 또는 웹 API (2)보다 15 분 이상 걸립니다. 이러한 대규모 계산은 여러 곳에서 발생해야합니다 (인도 가능 예측 값 변경, 초기 예측 작성 등).
여기에 우리의 요구 사항을 충족시키는 조정자 한도가 있습니까? (5 분 내에 대용량의 응답이 있습니까? force.com은 여기서 우리가 사용할 수있는 좋은 플랫폼입니까?
이
내가 유사한 계산을 위해 그 일을했던 방법입니다 :이
지도를 작성하여 천문학적 인 스크립트 행을 실행할 수 있습니다. (저는 정부 제한이 150k라고 생각합니다). 그들은 매우 쉽습니다. 반환 된 모든 항목에서 다른지도 항목을 추가하기 만하면됩니다. 그 레코드를 위해서 열쇠를 뭔가 고유하게 만드십시오 (id 나 월 등). 그런 다음 get 함수를 사용하여 for 루프를 사용하는 대신 "x 월 프로젝트의 x 프로젝트에 대한 결과 레코드를 가져옵니다"라고 말할 수 있습니다. – micahhoover