Как разработать решение для обработки большого количества записей в CRM 2016 onPrem?

Создание новой функции в вашем литерале объекта и вызов конструктора кажется радикальным отходом от исходной проблемы, и это не нужно.

Вы не можете ссылаться на свойство sibling во время инициализации литерала объекта.

var x = { a: 1, b: 2, c: a + b } // not defined 
var y = { a: 1, b: 2, c: y.a + y.b } // not defined 

Простейшее решение для вычисляемых свойств (без кучи, без функций, без конструктора):

var x = { a: 1, b: 2 };

x.c = x.a + x.b; // apply computed property
0
задан Arun Vinoth 30 March 2019 в 13:58
поделиться

1 ответ

Я действительно находился в такой же ситуации, как и вы, и лучший совет, который я могу вам дать, это перенести всю бизнес-логику, которую вы можете, на другую систему / процесс, всю тяжелую работу следует выполнять за пределами Dynamics 365.

Вот как я решил проблему:

  1. Создал пользовательскую сущность SMS-сообщение , как вы сделали это в динамике, со всей информацией, необходимой для отправки текстового сообщения. (номер телефона, сообщение, статус и т. д.).

  2. Реализован плагин Async Post Create, который будет отправлять всю эту информацию в очередь Azure Service Bus. Асинхронность здесь действительно важна, так что динамика блокируется как можно меньше. Этот плагин должен быть максимально легким и не иметь никакой бизнес-логики.

  3. Создана функция Azure, которая запускается при получении нового сообщения в очереди. Эта функция Azure выполняла всю бизнес-логику, которая мне была нужна, в основном это была интеграция с SMS-шлюзом. В вашем случае он может вызвать сторонний API для сокращения URL-адреса, интеграции с внешней базой данных и т. Д. Наконец, обновите запись SMS-сообщения с помощью сокращенного URL-адреса и другой необходимой вам информации.

Еще несколько заметок

  • Вы можете легко масштабировать большинство служб Azure, если считаете, что вашему процессу требуется повышение производительности, что является основным преимуществом по сравнению с обработкой в ​​динамике.
  • На шаге 2 вы можете достичь этой логики с помощью Webhook .
  • Чем выше пропускная способность, тем больше вы должны подумать о замене шагов 2 и 3 веб-заданием, которое рекурсивно ищет и извлекает все SMS-сообщения в динамике, которые еще необходимо обработать (вы можете управлять этим с помощью статуса обрабатывается , например), а затем выполняет всю необходимую логику, как в шаге 3.
0
ответ дан André Cavaca 30 March 2019 в 13:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: