При импорте большого обьема данных через 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 даже есть пример в разделе Планирование, "Рассчитать факт и потенциал".