Есть ли задержка репликации в Salesforce.com через API APEX? - PullRequest
0 голосов
/ 06 июля 2010

Я использовал SOAP для работы с Salesforce.com и использую вызов getUpdated (), используя временную метку, которую я получаю из вызова getServertimestamp ().

Я наблюдал за моей проверкой процесса (она опрашивается каждую минуту) и через несколько секунд после сохранения изменений в среде «Песочница» я вижу их опрос, не получая <ids> в вызове getUpdated, а затемв следующем опросе появляется модифицированный идентификатор.

Есть ли задержка репликации бэкэнда в SFDC?Я подозреваю, что есть, но не повезло в определении величины этого.Кто-нибудь еще испытал это?

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

Обновление: я только что проверил и внес изменения,и мой опрос прошел через 48 секунд, и не увидел обновленный объект.Но через 1 минуту 48 секунд он это увидел.Так что это одна точка данных.(Я знаю, что моя конечная точка SOAP и веб-интерфейс работают на одном сервере в SFDC, tapp0).

1 Ответ

1 голос
/ 26 июля 2010

Запись изменений не задерживается, но getUpdate / getDeleted вызывает округление заданного времени до ближайшей минуты, поэтому время окончания теперь округляется в меньшую сторону, а только что внесенное изменение выходит за пределы диапазона .

Кроме того, если вы выполняете репликацию почти в реальном времени с помощью этих вызовов, то обязательно обратите внимание на возвращаемую временную метку транзакции в полете, иначе вы можете пропустить изменения (так как временная метка изменения не может быть фактическим временем фиксации транзакции)

...