|
8.3.25: Пауза() | ☑ | ||
---|---|---|---|---|
0
Garykom
гуру
16.03.23
✎
17:46
|
||||
45
TormozIT
гуру
16.04.23
✎
21:44
|
(43) А что ты хотел? Какой вопрос - такой и ответ =)
|
|||
46
roman52
17.04.23
✎
00:12
|
Почему-то никто не предложил вариант замены паузы регламентным заданием?
Путь более трудоемкий, но также и более отказоустойчивый. А то запилят паузу в цикле, а то что сеанс может упасть в середине "ой, мы это не предусмотрели" |
|||
47
kortun
17.04.23
✎
01:28
|
(46) Потому что на большом количестве пользователей регламентное и фоновое задание плодят много заданий очень. И если на маленький базах это не заметно, то от 1000 активных сеансов это существенная нагрузка.
|
|||
48
Сергиус
17.04.23
✎
01:50
|
(46)Можно подумать регламентное не падает..не говоря уже о том, что ресурсов требует.
|
|||
49
dali
17.04.23
✎
05:30
|
Процедура Sleep(КоличествоСекунд)
Попытка Соединение = Новый HTTPСоединение("127.0.0.0",,,,,КоличествоСекунд); Соединение.Получить(Новый HTTPЗапрос()); Исключение Конецпопытки; КонецПроцедуры https://infostart.ru/public/706204/ |
|||
50
victuan1
17.04.23
✎
06:11
|
(39) Новое - это забытое старое. Еще из 1С 7.7:
Процедура ЗадержкаВыполнения(ВремяОжидания); // в секундах Если ВремяОжидания > 0 Тогда Попытка WshShell = СоздатьОбъект("WScript.Shell"); xPing = "ping -n 1 -w "+СокрЛП(1000*ВремяОжидания)+" 127.255.255.255"; WshShell.Run(xPing, 0, -1); Исключение сообщить("Ошибка при выполнении задержки: "+ОписаниеОшибки(),"!!"); КонецПопытки; КонецЕсли; КонецПроцедуры |
|||
51
DJ Anthon
17.04.23
✎
06:25
|
(50) у меня нет WScript.Shell
|
|||
52
Смотрящий
17.04.23
✎
07:13
|
&НаСервере
Процедура Пауза(Длительность) Экспорт Попытка Соединение = Новый HTTPСоединение("127.0.0.0",,,,, Длительность, Новый ЗащищенноеСоединениеOpenSSL()); Соединение.Получить(Новый HTTPЗапрос()); Исключение Конецпопытки; КонецПроцедуры |
|||
53
Смотрящий
17.04.23
✎
07:14
|
Опередили
|
|||
54
mikecool
17.04.23
✎
09:22
|
(49) аналог этого я в 2007 поднимал
|
|||
55
mikecool
17.04.23
✎
09:23
|
+54 админ специально поднимал хттп-сервер, который отвечал паузой
|
|||
56
mikecool
17.04.23
✎
09:23
|
+55 работало в винях и линях
|
|||
57
Garykom
гуру
17.04.23
✎
09:26
|
(55) зачем?
|
|||
58
mikecool
17.04.23
✎
09:29
|
(57) на нем лежал скрипт, который паузу организовывал
админу виднее было ) |
|||
59
Garykom
гуру
17.04.23
✎
09:34
|
(58) вот и непонятно, можно же на любой не отвечающий порт стучаться, по идее нормально будет
HTTPСоединение (HTTPConnection) По умолчанию Синтаксис: Новый HTTPСоединение(<Сервер>, <Порт>, <Прокси>, <Таймаут>, <ЗащищенноеСоединение>, <ИспользоватьАутентификациюОС>) Параметры: <Сервер> (обязательный) Тип: Строка. Хост сервера, с которым осуществляется соединение. Примечание: Имя хоста не должно содержать указание протокола. Например, example.com. <Порт> (необязательный) Тип: Число. Порт сервера, с которым осуществляется соединение. Значение по умолчанию для HTTP соединений равно 80, для защищенных HTTPS соединений - 443. Значение по умолчанию: порт по умолчанию для используемого протокола. <Прокси> (необязательный) Тип: ИнтернетПрокси. Прокси, используемый для соединения с сервером. В веб-клиенте значение параметра игнорируется. <Таймаут> (необязательный) Тип: Число. Таймаут осуществляемого соединения и операций, в секундах. 0 - не устанавливать таймаут. Значение по умолчанию: 0. <ЗащищенноеСоединение> (необязательный) Тип: ЗащищенноеСоединениеOpenSSL, Неопределено. Объект защищенного соединения для осуществления HTTPS соединения, если указан. Значение по умолчанию: Неопределено. <ИспользоватьАутентификациюОС> (необязательный) Тип: Булево. Включает использование аутентификации NTLM или Negotiate на сервере. В веб-клиенте значение параметра должно быть либо Неопределено, либо Истина. Если значение параметра Ложь, то будет вызвано исключение "Недопустимое значение параметра". Значение по умолчанию: В веб-клиенте - Истина, в остальных случаях -Ложь. Описание: Создает объект HTTPСоединение. Пример: ssl = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows( СпособВыбораСертификатаWindows.Выбирать), Новый СертификатыУдостоверяющихЦентровWindows()); httpsconn = Новый HTTPСоединение( "hostname",,,,, 5, // таймаут в секундах ssl // защищенное HTTPS соединение ); Использование в версии: Доступен, начиная с версии 8.3.1. Описание изменено в версии 8.3.20. Методическая информация |
|||
60
dmpl
17.04.23
✎
09:42
|
(49) У меня Web-сервак на 127.0.0.1 слушает. И отвечает мгновенно.
|
|||
61
dali
17.04.23
✎
09:48
|
(60) внимательно посмотри, какой в (49) адрес указан?
способ основан на таймауте http запроса на несуществующий адрес. |
|||
62
Garykom
гуру
17.04.23
✎
09:58
|
(60) так ты порт то укажи на котором ничего нет ))
|
|||
63
Garykom
гуру
17.04.23
✎
09:59
|
(61) на 127.0.0.1 (localhost) на стандартных портах 80/443 может быть поднят и отвечать http сервер
поэтому надо порт указывать на котором точно нет сервера |
|||
64
dali
17.04.23
✎
10:01
|
(63) Капец, ну ты еще внимательно посмотри в (49) какой адрес там написан?
|
|||
65
dali
17.04.23
✎
10:02
|
(63) 127.0.0.1 или все-таки 127.0.0.0 ?
|
|||
66
Garykom
гуру
17.04.23
✎
10:04
|
(64) (65) теперь вижу
так нельзя, есть вероятность нештатного поведения при попытке соединения из 1С с 127.0.0.0 |
|||
67
dali
17.04.23
✎
10:05
|
(66) да ну? какого? в попытке?
|
|||
68
Garykom
гуру
17.04.23
✎
10:05
|
(67) например таймаута не будет
сразу "общий сбой" |
|||
69
dali
17.04.23
✎
10:07
|
(68) ну съэмулируй, посмотрим.
|
|||
70
dali
17.04.23
✎
10:08
|
я ни разу не сталкивался
|
|||
71
dali
17.04.23
✎
10:13
|
даже интересно, какой "общий сбой" может быть при вызове штатного механизма платформы.
Общий сбой возвращает пинг на этот адрес, а http запрос отрабатывает таймаут |
|||
73
timurhv
17.04.23
✎
11:42
|
(70) Если настройки подключения указаны через прокси-сервер, то ответ 127.0.0.0 может прийти сразу с ошибкой.
|
|||
74
dmpl
17.04.23
✎
13:53
|
(61) При соединении с 127.0.0.0 поведение будет зависеть от настроек сети на клиенте, операционной системы и особенностей платформы, что предсказать невозможно.
|
|||
75
Гипервизор
25.04.23
✎
09:10
|
Появилось больше информации: будет реализован метод глобального контекста ВызватьПаузу.
Доступен только на сервере и может быть вызван из фоновых заданий, веб-сервисов, http-сервисов, ботов и недоступен в клиент-серверном вызове. https://wonderland.v8.1c.ru/blog/metod-vyzvatpauzu/ |
|||
76
magicSan
25.04.23
✎
09:24
|
кто нибудь поделитесь мега алгоритмом где нужна пауза.
|
|||
77
TormozIT
гуру
25.04.23
✎
09:58
|
Пожелал еще сразу ПодключитьОбработчикОжиданияСПараметрами() https://github.com/SeiOkami/OneS/issues/203
|
|||
78
Garykom
гуру
25.04.23
✎
10:25
|
(76) внешний сервис со своим апи
часто нельзя сразу запрашивать ответ после отправки данных и нет очереди/запроса о готовности ответа |
|||
79
polosov
25.04.23
✎
11:44
|
(15)
Все это попытки скрыть паузой не правильную архитектуру |
|||
80
magicSan
25.04.23
✎
11:48
|
(78) У тебя регламентное отключили? Я правильно понимаю что ты в цикле будешь паузу пользовать?
Ещё примеры, я записываю)))) |
|||
81
polosov
25.04.23
✎
12:08
|
(78) Если сервис тупой и не умеет в колбэки, то после запроса добавляешь в очередь (РС) для последующего получения ответа и регламент через заданное количество времени делает запрос за ответом.
Да, это труднее, чем просто вставить паузу. |
|||
82
Garykom
гуру
25.04.23
✎
12:14
|
(81) Когда надо по очереди сделать запрос - дождаться готовности (3-5 сек) - получить ответ и на его основе сделать новый запрос - снова подождать и т.д.
То через очереди и регламенты это овер |
|||
83
Aleksey
25.04.23
✎
12:15
|
(76) групповая загрузка/создание документов/справочников. В случае если конфликт блокировок просто ждем 1-2 секунды и дальше грузим
|
|||
84
Aleksey
25.04.23
✎
12:19
|
(81) сам просишь примера использования паузы и тут же пишешь когда она нужна.
Как она реализовано через ФФЗ, РЗ или еще как это уже вопрос десятый |
|||
85
magicSan
25.04.23
✎
12:23
|
(81) Это нормальная архитектура, как пример яндекс клауд с расшифровкой звонка - кидаешь запрос, ждешь, обрабатываешь результат.
|
|||
86
magicSan
25.04.23
✎
12:24
|
Сервер печати на кассу работает через задания, механизм отчетов.
|
|||
87
ptiz
25.04.23
✎
12:49
|
(81) А если нужна пауза 0.5 сек или 1 сек? И непрерывный поток запросов разных типов, и по каждому - свои ограничения? Слишком жирно регламентными будет.
|
|||
88
H A D G E H O G s
25.04.23
✎
13:08
|
(76) Печать на сервере, там нужны паузы для обработки асинхронной печати через winspool, но так как сама печать через ВК - то и пауза делается внутри ВК.
|
|||
89
magicSan
25.04.23
✎
13:14
|
(88) Не сталкивался с подобной проблемой - там же очередь печати.
(87) Фоновые хорошие штуки - накидал задач и чекаешь на предмет результата. |
|||
90
polosov
25.04.23
✎
13:17
|
(87) Расппараллеливай
|
|||
91
trad
25.04.23
✎
13:19
|
Пишу интеграцию с фгис зерно. Вот там пауза не помешала бы. РЗ, как выше сказано, в такой задаче - овер
|
|||
92
polosov
25.04.23
✎
13:23
|
(84) Это реализация ожидания ответа от сервиса без пауз.
Как ты будешь масштабировать решение с паузами, если тебе понадобится поднять количество запросов за единицу времени в 5 раз? |
|||
93
magicSan
25.04.23
✎
13:42
|
(92) ПАУЗА()/5 ))))))))))))))))
|
|||
94
Волшебник
25.04.23
✎
13:44
|
(76) Общение с торговым оборудованием
|
|||
95
magicSan
25.04.23
✎
13:51
|
(94) Если бы была необходимость то БПО имело эту возможность.
|
|||
96
Garykom
гуру
25.04.23
✎
13:54
|
(95) Ты понимаешь что БПО реализовано через ВК - прокладки
|
|||
97
Garykom
гуру
25.04.23
✎
13:54
|
(96)+ И вот внутри их есть Pause обычно ))
|
|||
98
magicSan
25.04.23
✎
13:59
|
(97) Да, продолжай - где проблема?
|
|||
99
Волшебник
25.04.23
✎
14:09
|
(98) Необходимость паузы доказана? Даже в алгоритмах управления истребителями 5-го поколения есть паузы, только они строго регламентированы по длительности за счёт ОС реального времени.
|
|||
100
mTema32
25.04.23
✎
14:11
|
(76) Если есть сервис и в него можно пулять запросы сильно чаще чем один раз в секунду нужна пауза. Регламентные задания тут не помогут, у них 1 секунда минимальный интервал.
|
|||
101
polosov
25.04.23
✎
14:18
|
(93)Время подготовки ответа сервисом не меняется обычно.
|
|||
102
magicSan
25.04.23
✎
14:22
|
(100) Запускаешь фоновое - запрос ответ, запрос ответ - ждешь результата вообщем.
(99) Я не услышал не одного примера где это необходимо. "5-го поколения есть паузы" - а ещё комп работает на прерываниях, и его суть борьба за ядра. |
|||
103
mTema32
25.04.23
✎
14:25
|
(102) Фоновое слишком медленное для этого. Не подойдет.
|
|||
104
magicSan
25.04.23
✎
14:42
|
С какой радости медлено?
|
|||
105
mTema32
25.04.23
✎
14:50
|
(104) Раз в секунду это медленно.
|
|||
106
magicSan
25.04.23
✎
15:13
|
(105) у тпбя на клиенте обработчик ожидания каждые 1/10 сек опрашивает статус.
|
|||
107
magicSan
25.04.23
✎
15:14
|
пустое задание 220 мс
|
|||
108
mTema32
25.04.23
✎
15:45
|
(107) При чем тут обработчик ожидания? На сервере все работает без клиента.
А фоновое задание не запустить чаще чем раз в 1 секунду. Можно наверное запустить сеанс и клиента на нем чтоб раз 1/10 секунды обработчик срабатывал - но это извращение уже. |
|||
109
mTema32
25.04.23
✎
15:47
|
+(108)Не сработает и тут обработчик ожидания, кстати. Не может он меньше секунды лопатить многократно.
|
|||
110
magicSan
25.04.23
✎
17:00
|
(108)Можно пример надобности в подобном, чтоб от реальности не отрываться
|
|||
111
DrZombi
гуру
25.04.23
✎
17:08
|
(0) Идея хорошая, но чет по описанию, она что-то делает не так :)
|
|||
112
magicSan
25.04.23
✎
17:24
|
Вспомнил когда юзал паузу - надо было опрашивать стороннею субд каждую секунду, для црм, (подписки на событие не прокатило, а сделать надо было ещё вчера) запил цикл на поуершелл - всё еще наварено работает, систему не грузило, а виндовый таскшедлер не дает каждую секунду.
|
|||
113
mTema32
25.04.23
✎
17:50
|
(110) Сервис, который на основании входящего запроса создает документ в базе и отдает его идентификатор.
Это если прям до банального упростить. |
|||
114
magicSan
25.04.23
✎
18:00
|
(113) фсс так и работает - проблем нет.
|
|||
115
magicSan
25.04.23
✎
18:01
|
не ну конечно там идентификатор запроса который ты опрашиваешь ну суть одна - пауза тут не то место
|
|||
116
ДедМорроз
25.04.23
✎
20:28
|
Пауза хороша,когда она прерываемая,чтобы ждать,когда реально нечего делать.
Регламентное задание - это начало сеанса,что не быстро. Фоновое - тоже ресурсы отъедает. Но в фоновом пауза уже давно есть - ждать себя самого. |
|||
117
magicSan
25.04.23
✎
20:39
|
(116) я выше писал, в итоге по вызову с клиента вышло 20 мс. из ресурсов не заметил мерить 1-10 мб смысла не вижу.
|
|||
118
Волшебник
25.04.23
✎
21:14
|
(116) Можно один раз запустить длительное фоновое, которое периодически просыпается.
|
|||
119
mTema32
26.04.23
✎
09:28
|
(114) Что будет если в сервис за 10 мс прилетит 10 одинаковых запросов догадаетесь?
|
|||
120
rudnitskij
26.04.23
✎
20:36
|
Лучше бы инкремент добавили
|
|||
121
Garykom
гуру
26.04.23
✎
20:40
|
(120) В смысле добавили
Счетчик++; ? |
|||
122
Волшебник
26.04.23
✎
21:37
|
(120) Поподробнее, пожалуйста. Кстати, можно учесть, что в вашей стране 1С вообще вне закона. Откуда такие пожелания вообще взялись?
|
|||
123
magicSan
26.04.23
✎
21:48
|
(119) сервис ответит matrix has you...
|
|||
124
Garykom
гуру
28.04.23
✎
11:06
|
Вышел рабочий релиз 1С:Предприятие 8.3.23
https://infostart.ru/journal/news/mir-1s/vyshel-rabochiy-reliz-1s-predpriyatie-8-3-23_1855200/ Опубликована рабочая версия платформы 1С 8.3.23. В состав релиза вошло несколько долгожданных изменений: лицензия для разработчиков, поддержка регулярных выражений и обработка для миграции на другую СУБД для клиент-серверных баз без выгрузки в .dt. ЗЫ Метод ВызватьПаузу все ближе https://wonderland.v8.1c.ru/blog/metod-vyzvatpauzu/ |
|||
125
magicSan
28.04.23
✎
11:13
|
(124) Мы так и не увидели что ты с этим счастьем делать будешь? Приведи актуальный пример.
|
|||
126
Garykom
гуру
28.04.23
✎
11:14
|
(125) Сначала замедлить конфу а потом постепенно по просьбам клиентов ускорить
|
|||
127
DJ Anthon
28.04.23
✎
11:42
|
(126) в ерп это уже встроено. есть регистр продаж, но отчетов по нему нет. зато есть по валовой прибыли предприятия, через которую люди и смотрели продажи в нужных им разрезах. только вот из-за расчета маржи всё это выполняется крайне медленно. например, обороты за год по всем фирмам формируется примерно 5-6 часов. иногда может вылететь из-за нехватки памяти. когда написал отчет, который только регистр продажи обрабатывает, нужные данные стали формироваться за 5-10 секунд. я вот не понимаю, зачем 1С так всё усложняет? какого хрена отчет валовая прибыль лежит в оптовых продажах, если должна лежать финрезе?
|
|||
128
d4rkmesa
28.04.23
✎
11:55
|
(127) Так это отчет для торгашей, при средних объемах вполне адекватно работает. Но, тут еще от релиза зависит, я заметил, результирующий запрос частенько "скачет", некоторые отборы, которые раньше использовались как параметры вирт. таблиц перескочили на вкладку "ГДЕ", в итоге отборами и настройкой структуры можно так накрутить, что отчет работает на порядки медленнее.
|
|||
129
Гипервизор
28.04.23
✎
12:49
|
(125) Из экзотики - вывод текста с эффектом "печатной машинки". И вообще - а почему бы и нет? Вон, в пожеланиях к платформе усиленно просят поддержку эмодзи, пусть и пауза будет.
|
|||
130
DJ Anthon
28.04.23
✎
13:05
|
(129) квесты на 1С писать?
|
|||
131
PR
28.04.23
✎
13:08
|
(125) Работа со СЗ, ТЗ или ТЧ как с полем, а не таблицей
Ну и с СВ изменения есть |
|||
132
magicSan
28.04.23
✎
13:24
|
(129) "Из экзотики - вывод текста с эффектом "печатной машинки"." - за каким ты на сервер лезешь? это делается на коленке.
(131) Уже выпил? |
|||
133
Гипервизор
28.04.23
✎
13:32
|
(132) При чём тут сервер? Я про использование паузы, а не про реализацию паузы в 8.3.25. Так я и не спрашивал как это делать, на коленке и делаю.
|
|||
134
magicSan
28.04.23
✎
13:52
|
(133) Коленка = подключитьОбработчикОжидания, а не гумноипалки.
За каким вообще в учетной системе делать такие эффекты? |
|||
135
Гипервизор
28.04.23
✎
14:08
|
(134) Переадресуйте вопрос в 1С, для чего всякие красивости добавляются. Такси, например. Или вон видов диаграмм в СКД уже сколько.
Долой, учётная система должна давить суровостью и аскетизмом! |
|||
136
magicSan
28.04.23
✎
14:15
|
(135) Не надо путать диаграммы которые нужны бизнесу со свистелками. Такси для тонкого - это что не очевидно7
|
|||
137
Гипервизор
28.04.23
✎
14:21
|
(136) Ну куда же бизнесу без такого количества диаграмм?
Упомянув Такси, я подразумевал внешний вид со всякими скруглениями и прочим оформлением. А что скажете про "котиков" в Бухгалтерии? |
|||
138
magicSan
28.04.23
✎
17:34
|
(137) Заменить всратый кружок на кота вполне себе, хотя я думал тогда что это прикол )))))
|
|||
139
novichok79
29.04.23
✎
16:38
|
> Важная особенность: метод ВызватьПаузу недоступен в клиент-серверном вызове; при вызове с клиента серверного метода, в котором вызывается ВызватьПаузу, будет сгенерировано исключение «Нельзя вызвать метод ВызватьПаузу в клиент-серверном вызове».
вы еще не сделали, а мы уже "решили". вполне в духе 1С, ничего нового. > Мы сделали это осознанно: метод ВызватьПаузу блокирует выполнение кода и, будучи вызван из клиентского кода, заблокирует пользовательский интерфейс. Мы же хотим, чтобы наш пользовательский интерфейс был максимально «отзывчивым». АХААХХА!!!! особенно об этом всячески напоминает загрузка демонических списков в типовых конфигурациях. когда смотришь в клиентский код 1С, делаешь замер производительности, серверных вызовов нет, все закешировал и думаешь, что все, нечему там тормозить, а 1С тебе такой и говорит - hold my beer. делали, знаем. > Для реализации функциональности паузы в клиентском коде есть другие способы – например, можно воспользоваться механизмом фоновых заданий. да да, надо больше кода! |
|||
140
sikuda
30.04.23
✎
16:58
|
(139) Так пора уже привыкнуть к тому, что сама платформа 1С достигла потолка своего технологических возможностей и все эти пятничные пришлите нам пожелания не более чем маркетинговый ход.
Изучайте технологии, а не конкретную реализацию конкретной фирмы будь это даже монополисты типа 1С. Вы точно понимаете разницу между delay и sleep? |
|||
141
novichok79
01.05.23
✎
10:52
|
(140) наличие разницы между delay и sleep зависит от реализации в конкретном языке. sleep вроде разрешает шедулеру ОС занять CPU, а delay - нет, если я правильно помню. в большинстве примеров в интернетах используют sleep.
|
|||
142
trialex3
01.05.23
✎
12:54
|
Пауза реально нужна потому что долбанный стандартный алгоритм отправки отчетов по сотрудникам не работает, так как сервер почтовый банит за скоростную рассылку. А свой почтовый сервер держать вроде как не нужно при таком количестве пользователей. Вот и приходится паузу БСПшную использовать. Так хоть людям письма с расчетными листками приходят
|
|||
143
trialex3
01.05.23
✎
12:56
|
(142) И вот вроде напрашивается настройка с установкой своего делея между письмами в предприятии, но ее нету(
|
|||
144
novichok79
01.05.23
✎
14:11
|
(143) когда писали свою убер-самописку, там надо было коннектиться к кафке с ретраем и интервалом между ретраями в 5 сек.
не помню как я там паузу свою запилил, по-моему простым циклом, что как бы CPU-bound и вообще плохо. но супер-пупер-платформа 1С другого не дает делать, да и внешних компонент я тогда писать не умел. в общем, как обычно, ничего нового. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |