Автор |
Тема: Ожидание файла и продолжение выполнения формы (Прочитано 7031 раз) |
|
Vladimir
Я люблю этот Форум!
Просмотреть Профиль | WWW |
Сообщений: 264
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #15 В: 27.07.17 в 19:31:16 » |
Цитировать | Править
|
on 27.07.17 в 17:51:53, mine-R wrote: хотелось бы реализации именно через интерпретатор ФБП т.е. через виртуальную машину Сервера, не делегируя таймер ни батникам, ни внешним приложениям. |
| А чем не годится переодический опрос сервера из клиента?
|
|
Зарегистрирован |
С уважением, Владимир
|
|
|
Boris, Kiev.
Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 875
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #16 В: 27.07.17 в 19:51:56 » |
Цитировать | Править
|
on 27.07.17 в 17:51:53, mine-R wrote: Я и вовсе не из обидчивых докопаться бы "до истины". Гугл и языки программирования это здорово, но хотелось бы реализации именно через интерпретатор ФБП т.е. через виртуальную машину Сервера, не делегируя таймер ни батникам, ни внешним приложениям. |
| Повторюсь, проблемы нет. Представьте себе, что у вас есть в функциях аналог sleep, например sleep_fbp(Хсекунд) и что? Напишите такую формочку и виртуально помоделируйте. Quote: Обычно я через пустые циклы ожидания организовываю, т.к. предполагаю, что предусмотрен для циклов периодический обмен системными сообщениями между Сервером и системой. |
| Странно, как то подумал, что не напрасно здесь письма писал, ан нет. Не предполагайте, а проверяйте, если до истины есть желание дойти. Quote: Но сказать, что такие конструкции абсолютно не загружают ресурсы машины тоже нельзя. |
| Абсолютно ЗАГРУЖАЮТ, да и конструкциями это можно назвать со 100% натяжкой. Quote: Если Вы знаете идеальный алгоритм, и этот алгоритм не засекречен - поделитесь |
| Вы хотите код паскаля?
|
|
Зарегистрирован |
|
|
|
mine-R
compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #17 В: 27.07.17 в 23:09:47 » |
Цитировать | Править
|
Quote: Как раз-таки нет Я "хочу" аналог упряжки ProcessMessages+sleep(n), но на чистом языке ФБП.
|
|
Зарегистрирован |
|
|
|
Boris, Kiev.
Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 875
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #18 В: 28.07.17 в 08:08:07 » |
Цитировать | Править
|
on 27.07.17 в 23:09:47, mine-R wrote: Как раз-таки нет Я "хочу" аналог упряжки ProcessMessages+sleep(n), но на чистом языке ФБП. |
| Прекрасно, идите дальше в этой логике, что получите и чем это будет отличаться от текущей упряжки сервера с модным клиентом?, который уже способен на тоже самое в результате, только при этом сервер может заняться чем-либо, а в вашем варианте - это будет не очевидно и потребует существенной доработки дабы не потерять лицо в таких ожиданиях.
|
« Изменён в : 28.07.17 в 08:11:48 пользователем: Boris, Kiev. » |
Зарегистрирован |
|
|
|
mine-R
compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #19 В: 28.07.17 в 11:32:21 » |
Цитировать | Править
|
Quote:А чем не годится переодический опрос сервера из клиента? |
| Всем годится. Я про периоды ожидания - в рамках одной запущенной формы, продолжение выполнения которой увязано с "появлением внешнего файла" в течение определённого промежутка времени к примеру. А периодический опрос сервера - это как недавний пример со списком файлов, генерируемым внешней командой dir. Когда форма периодически перезапускается с параметром (или параметрами). Quote:Прекрасно, идите дальше в этой логике, что получите и чем это будет отличаться от текущей упряжки сервера с модным клиентом? |
| Вот и подошли к сути моего вопроса. А именно - как реализовать ожидание на чистом ФБП, вне зависимости от того, какой Клиент находится в упряжке.
|
|
Зарегистрирован |
|
|
|
Boris, Kiev.
Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 875
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #20 В: 28.07.17 в 16:37:44 » |
Цитировать | Править
|
on 28.07.17 в 11:32:21, mine-R wrote: Вот и подошли к сути моего вопроса. А именно - как реализовать ожидание на чистом ФБП, вне зависимости от того, какой Клиент находится в упряжке. |
| Никак. Ещё раз. Вы смогли представить себе поведение формы с новым sleep_fbp(Хсекунд)? Расскажите, как чудесно это будет работать со штатным клиентом. Закрывать и запускать по AUTO одну и ту же форму и что на выходе? Что сервер будет делать получив sleep_fbp? Спать, т.е. не грузить ядро процессора, а другие запросы обслуживать будем? и штатный клиент будет стоять в "Обновляется...". Можно хотя бы один аргумент в пользу реализации sleep_fbp(Хсекунд)
|
|
Зарегистрирован |
|
|
|
mine-R
compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #21 В: 28.07.17 в 20:55:45 » |
Цитировать | Править
|
Хм.. если умозрительно представить, то помимо основного серверного таймера, который фиксирует время старта Сервера и каждое время изменения состояния базы, это мог бы быть временный экземпляр таймера, который "усыпляет" форму на n-ное количество секунд, а затем (дождавшись окончания выполнения возможно случившегося в эти n секунд другого запроса) "пробуждает" форму и передаёт ей управление для проверки выполнения условия и реакции на выполнение/невыполнение. Прочие запросы во время ожидания продолжают выполняться.. Насколько я понимаю, даже "подзависший" на какой-либо форме Сервер, продолжает мониторить новые запросы (например "а не пришла ли дитектива B ?") Такие вот фантазии в сослагательном наклонении Поскольку у меня "таймеры" (пожирающие ресурсы) выставлены не более чем на 1-2 сек., то что Клиент попревыбает в состоянии "Обновляется..." не столь уж критично. Ведь для больших мегамногострочных форм, заполнение визуальных контролов отображения Клиента результатами практически мгновенной работы Сервера, порой эти секунду-две занимают и при отсутствии каких-либо "таймеров".
|
|
Зарегистрирован |
|
|
|
Boris, Kiev.
Адепт ФБП с 1996г.
Просмотреть Профиль | E-мэйл
Сообщений: 875
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #22 В: 29.07.17 в 11:52:35 » |
Цитировать | Править
|
on 28.07.17 в 20:55:45, mine-R wrote:Хм.. если умозрительно представить, то помимо основного серверного таймера, который фиксирует время старта Сервера и каждое время изменения состояния базы, это мог бы быть временный экземпляр таймера, который "усыпляет" форму на n-ное количество секунд, а затем (дождавшись окончания выполнения возможно случившегося в эти n секунд другого запроса) "пробуждает" форму и передаёт ей управление для проверки выполнения условия и реакции на выполнение/невыполнение. Прочие запросы во время ожидания продолжают выполняться.. Насколько я понимаю, даже "подзависший" на какой-либо форме Сервер, продолжает мониторить новые запросы (например "а не пришла ли дитектива B ?") Такие вот фантазии в сослагательном наклонении |
| Сколько времени и сил на то, чтобы реализовать и довести до ума такую связку сервера с клиентом? И главное, где тот огромный ваш плюс, за который столько "копий ломаем"? Quote: Поскольку у меня "таймеры" (пожирающие ресурсы) выставлены не более чем на 1-2 сек., то что Клиент попревыбает в состоянии "Обновляется..." не столь уж критично. |
| Да, "размер имеет значение". Плохо, что вы принципиально не хотите на свой алгоритм посмотреть. Также отмечу, что наш сервер работает с ОС особенно, а именно в сторону максимального захвата ресурсов. В довесок, в вашем стиле, напомню, с чего начался разговор(от автора): Quote: Другого решения для таймера придумать не смог. Вроде все работает, но не нравится. Файл "давно уже есть", а форма все еще выполняется. |
| Понять вас, как "лентяя", который порешал вопросы и ему облом что-то менять, могу, но чего так упираться со своим порочным решением, мне трудно понять. Спасибо автору ветки за поднятый вопрос. Вам предлагаю сдаться и завершить затянувшиеся наши баталии.
|
|
Зарегистрирован |
|
|
|
mine-R
compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #23 В: 29.07.17 в 21:37:07 » |
Цитировать | Править
|
Ответ на свой вопрос я таки получил По поводу сдаться - для каждой задачи свой алгоритм. То, что стабильно работает менять массово из соображений перфекционизма, к тому же когда об этом пока никто не просит.. в общем, со "сдаться" повременю. А то, что Ваш подход более правильный, я и не отрицал. Лишь подчеркнул зависимость подхода от конкретного Клиента. По поводу дальнейшей дискуссии - согласен, вопрос полностью исчерпан.
|
|
Зарегистрирован |
|
|
|
VLV
Я люблю Финансы без проблем!
Просмотреть Профиль |
Сообщений: 231
|
|
Re: Ожидание файла и продолжение выполнения формы
« Ответить #24 В: 03.08.17 в 19:36:58 » |
Цитировать | Править
|
Quote: author=box_vma l ...По замыслу проверяет наличие файла в течение 5 секунд, затем возвращает 1 (файл есть), либо -1 (файл нет). Другого решения для таймера придумать не смог. Вроде все работает, но не нравится. Файл "давно уже есть", а форма все еще выполняется. |
| А почему не проверять чаще, с использованием обычного цикла для ожидания? Пока нет файла проверяем ждем проверяем дождались вылетаем не дождались вылетаем по таймауту...
|
« Изменён в : 03.08.17 в 19:37:21 пользователем: VLV » |
Зарегистрирован |
|
|
|
|
|