Импорт большого обьема данных

При импорте большого обьема данных через C# сервис подвисает bpm.
Для записи и обновления данных в SQL используется CustomQuery.
Сервис запускается через бизнес процесс каждые n минут.
Есть ли возможность использовать bpm во время работы сервиса?

Нравится

3 комментария

Здравствуйте!

Импорт использует поток пользователя. После начала импорта Вы можете открыть bpm'online в другом браузере или в режиме инкогнито. В результате, в новом браузере/в режиме инкогнито система не будет подвисать.

Решили проблему следующим образом.
Запускаем метод в отдельном потоке.
Вот часть кода. Запускается метод UploadClients().

System.Web.HttpContext httpContext = System.Web.HttpContext.Current;
CultureInfo currentCulture = GeneralResourceStorage.CurrentCulture;
System.Threading.Tasks.Task.Factory.StartNew(() => {
if (httpContext != null) {
System.Web.HttpContext.Current = httpContext;
}
GeneralResourceStorage.CurrentCulture = currentCulture;
try  {
UsrClientsUpload.UploadClients();
}        
 
               catch { }
 
 
});

Добрый день!!!

для импорта большого объема данный я бы создал и использовал отдельный бизнес-процесс. и запускал бы бизнес процесс как отдельный Job. в стандартной конфигурации Sales даже есть пример в разделе Планирование, "Рассчитать факт и потенциал".

Показать все комментарии