|
Ограничение времени выполнения алгоритма | ☑ | ||
---|---|---|---|---|
0
JeyRico
04.03.15
✎
12:56
|
Вопрос такой: алгоритм, иногда при выполнении уходит в ступор на пару часов. Хочу чтобы он останавливался сам через, скажем, 5 минут - это явно слишком много. Как такое можно реализовать?
Информация для умников: занимаюсь потрошение базы, состояние данных в которой навевают мысли о тепловой смерти вселенной, но надо как-то выправить весь этот бардак. |
|||
1
ДенисЧ
04.03.15
✎
12:58
|
Пихай его в фоновое, в основном потоке считай время, по истечении - останавливай
|
|||
2
JeyRico
04.03.15
✎
13:00
|
(1) Вариант. Тогда еще вопрос. Если затупка на запросе, тоже тормознется?
|
|||
3
vhl
04.03.15
✎
13:00
|
(0) с причиной ступора не хочешь разобраться?
|
|||
4
nordbox
04.03.15
✎
13:06
|
ОбработкаПрерыванияПользователя()
Не подойдет?? |
|||
5
nordbox
04.03.15
✎
13:09
|
+4 Запустил, алгоритм, сиди пей чай, как надоело хрясь по кнопкам и все дела )))
|
|||
6
JeyRico
04.03.15
✎
13:18
|
(3) Вот её и ищу.
(4) Вот и хотелось это дело автоматизировать. Чтобы к утру получить несколько логов на разных наборах. А потом исследовать только подвисавшие наборы данных. |
|||
7
H A D G E H O G s
04.03.15
✎
13:18
|
ППц.
|
|||
8
H A D G E H O G s
04.03.15
✎
13:19
|
Замер производительности на пару минут тебе все покажет
|
|||
9
JeyRico
04.03.15
✎
13:23
|
(8) Замер производительности показывает приемлемые цифры, но есть такие данные на который происходит провал - мне нужно собрать пул таких наборов. Сидеть и тыркать систему нет желания. Хочу чтобы она сама могла себя остановить - если такой возможности не найдется придется брать какую-нить хрень типа AutoIt
|
|||
10
H A D G E H O G s
04.03.15
✎
13:26
|
(9) Шта?
Несколько минут - это УЖЕ НЕПРИЕМЛИМЫЕ цифры. |
|||
11
ДенисЧ
04.03.15
✎
13:28
|
(10) Для какой операции? Например, перепроведения полугода документов? Неприемлемо7
|
|||
12
Лефмихалыч
04.03.15
✎
13:30
|
(10) мва-ха-хах!.. :)
|
|||
13
D_E_S_131
04.03.15
✎
13:36
|
(9) А что вообще делается никого не интересует?
|
|||
14
nordbox
04.03.15
✎
13:39
|
(9)>>>но есть такие данные на который происходит провал
Озвучь одну, и как на долго провал и объем данных примерный У некоторых обрезка базы и по двое суток бывало "репу чесала" |
|||
15
JeyRico
04.03.15
✎
13:41
|
Я вопрос задал в общем (алгоритм - не важно какой), потому, что их много разных. 5 минут - это для примера. Для некоторых и 2 секунды - уже много и надо искать где затык.
|
|||
16
JeyRico
04.03.15
✎
13:46
|
Вопрос собственно в том, чем располагает 8.3+ в этом отношении. В (1) описан приемлемый вариант, но как дело будет обстоять если подвисает на запросе. Остановиться он или нет.
|
|||
17
D_E_S_131
04.03.15
✎
13:51
|
(16) Фоновое задание остановится. Получение данных сервером 1С от сервера SQL продолжится.
|
|||
18
JeyRico
04.03.15
✎
13:55
|
(17) и будет продолжаться пока sql не загнеться или его тоже можно поднастроить? У меня есть возможность делать это на отдельном сервере
|
|||
19
nordbox
04.03.15
✎
13:57
|
Да пусть делает....
v8: Обработка прерывания пользователя http://itprovince.blogspot.se/2009/12/1-8.html |
|||
20
H A D G E H O G s
04.03.15
✎
13:59
|
(18) Можно ограничить макс. время выполнения 1 запроса.
Можно ограничить макс. память 1 запроса. |
|||
21
H A D G E H O G s
04.03.15
✎
14:00
|
Постепенное уменьшение макс. времени запросов на стороне sql - один из годных способов поиска узких мест.
|
|||
22
Vladal
04.03.15
✎
14:05
|
(0) Телепатирование - это передача мыслей. Я же пытаюсь прочитать...
Делай в своем алгоритме запись документов в транзакции по несколько документов, например, по 10. 10 документов запиал, зафиксировал транзакцию. Открыл новую транзакцию и т.д. |
|||
23
JeyRico
04.03.15
✎
15:50
|
(20) как? или в гугл пошлете?
|
|||
24
JeyRico
04.03.15
✎
15:51
|
+(23) ms sql 2008
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |