При импорте большого обьема данных через C# сервис подвисает bpm.
Для записи и обновления данных в SQL используется CustomQuery.
Сервис запускается через бизнес процесс каждые n минут.
Есть ли возможность использовать bpm во время работы сервиса?
Нравится
Здравствуйте!
Импорт использует поток пользователя. После начала импорта Вы можете открыть 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 даже есть пример в разделе Планирование, "Рассчитать факт и потенциал".