|
Пауза в выполнении обработке на сервере. УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
Vigor06
19.10.15
✎
12:53
|
Доброго дня!
Возникла задача сделать паузу в выполнении обработки НА СЕРВЕРЕ, на ЛИНУКС-Сервер. Соответственно отпадают все dll и тому подобное. При этом не подходят всякие циклы до 1000000...000, так как задача,как раз,разгрузить сервер в моменты выполнения регл.заданий. Есть у кого мысли? спасибо |
|||
1
asady
19.10.15
✎
12:53
|
пинг
|
|||
2
Cyberhawk
19.10.15
✎
12:54
|
Расскажи, зачем пауза в алгоритме твоего регл. задани?
|
|||
3
Cyberhawk
19.10.15
✎
12:54
|
*задания
|
|||
4
Vigor06
19.10.15
✎
13:00
|
(2) по порядку:
регл задание считывает файлы,формируемые АТС, о входящих звонка и на их основании формирует документы "Событие". Задание выполняется сейчас раз в 5 сек. Цепочка такая: Звонок- создание события в 1с- на основании события -задача- далее заказ-наряд Соответственно такой частый запуск планового задания: 1. Вызывает накладные расходы на запуск процессов 1с 2. Засирает базу записями лога 17280 штук в сутки Соответственно есть желание запускать обработку 1 раз в день,скажем,в 8 утра, и работать по след.алгоритму: 1.Запуск 2.Проверить файлы() 3. Спать5Секунд() 4. ПроверкаНеПолночьЛиИЕслиДаТоВыход() 5. Перейти на шаг 2 |
|||
5
Провинциальный 1сник
19.10.15
✎
13:01
|
(4) см. (1)
|
|||
6
Vigor06
19.10.15
✎
13:03
|
(5) нашел такое решение:
&НаКлиенте Процедура ТаймаутСкрипта(Shell, ТаймаутВСекундах) Shell.Run("ping 127.0.0.1 -n "+СокрЛП(Число(ТаймаутВСекундах)+1),0,1); КонецПроцедуры// ТаймаутСкрипта() &НаКлиенте Процедура ТырымПырым(Команда) Shell = Новый COMОбъект("WScript.Shell"); ТаймаутСкрипта(Shell, 10); КонецПроцедуры Но оно ж не заработает на линуксе? |
|||
7
mihmih
19.10.15
✎
13:05
|
(6) Нет, на линуксе это, естесственно не заработает.
(5) Позвольте, господа! Сейчас глянул в правый нижний угол экрана - на дворе 2015-й год. Не ужели в платформе 8.2 ДО СИХ ПОР нет какой-либо языковой конструкции для паузы? |
|||
8
Cyberhawk
19.10.15
✎
13:06
|
(7) нету
|
|||
9
asady
19.10.15
✎
13:07
|
||||
10
torgm
19.10.15
✎
13:07
|
(7) по факту тс пауза как бы и не нужна...
|
|||
11
Поpyчик-4
19.10.15
✎
13:14
|
(7) Сейчас глянул в правый нижний угол экрана - 15:14. Про двор и 2015 год в углу ни слова.
А вообще вам нужна не пауза, а запуск задания в определённое время, которое настраивается в расписании. |
|||
12
Провинциальный 1сник
19.10.15
✎
13:15
|
(7) ЗапуститьПриложение работает и в линуксе. Просто строчку команды иначе формируй, с линуксовыми ключами.
|
|||
13
Провинциальный 1сник
19.10.15
✎
13:16
|
(11) Оно у него есть, ТС не устраивают накладные расходы на запуск задания и мусор в логе.
|
|||
14
Провинциальный 1сник
19.10.15
✎
13:19
|
(12) И кстати в линуксе есть нативная команда sleep
|
|||
15
Tateossian
19.10.15
✎
13:19
|
ПодключитьОбработчикОжидания? И запускать каждые 5 сек.
|
|||
16
Провинциальный 1сник
19.10.15
✎
13:20
|
(15) На сервере не работает
|
|||
17
Tateossian
19.10.15
✎
13:22
|
(16) Точно, пасиб.
|
|||
18
mihmih
19.10.15
✎
13:24
|
(1) ЗапуститьПриложение("/bin/ping -c 1 -W 5 1.0.0.1");
(11) По условиям задачи необходимо проверять папку каждые 5 (ну максимум 10) секунд. Запуск регламентированного задания вызывает большие накладные расходы, и да, мусор в логах. Логично было бы, чтоб события не складывались в текстовые файлы, а система-инициатор стучалась сразу в 1С... Но, к сожалению с этого конца более чем закрыта (кроме как через OLE не достучаться) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |