Продлил. Норм засчиталось!
Корректная остановка BAS
-
@Ajshma said in Корректная остановка BAS:
Но отследить то, что пользователь нажал завершить скрипт через ожидание выполнения потоков, в данный момент невозможно.
Не совсем так, все возможно.
Например, можно иметь кастомный интерфейс к программе. И собственные кнопки завершения, по нажатии на которые можно сделать любую логику в программе.
-
Вы бы подробнее описали свой кейс - для чего вы используете асинхронный вызов. Я понимаю, что вы наверняка больше меня знаете (ну или так думаете). Но вызов асинхронных функций, это черный ящик по большому счету, и если можно задачу решать обычными потоками, то лучше на мой субъективный взгляд, решать ее через обычные потоки. А управлять динамичностью потоков можно через ресурс из файла например.
-
@Ajshma said in Корректная остановка BAS:
К примеру требуется регулировать количество запущенных потоков динамически, либо циклически вызывать какие то действия.
-
@mister40mrdoors said in Корректная остановка BAS:
Вы бы подробнее описали свой кейс - для чего вы используете асинхронный вызов.
Я подробно достаточно описал то, что требуется. Если Вам непонятно, увы...
Я понимаю, что вы наверняка больше меня знаете (ну или так думаете). Но вызов асинхронных функций, это черный ящик по большому счету, и если можно задачу решать обычными потоками, то лучше на мой субъективный взгляд, решать ее через обычные потоки.
Если по существу проблемы ответить нечего, то оставьте свое субъективное мнение при себе. Просто на просто оно не несет никакой смысловой нагрузки.
А управлять динамичностью потоков можно через ресурс из файла например.
Повторяю, Ваше мнение - не несет никакой смысловой нагрузки. Как реализовать динамическое управление потоками я могу перечислить с десяток вариантов, и лучшее решение сейчас уже реализовано у меня. Проблема, если не доходит, лично до Вас - завершить скрипт через выбор "ждать каждый поток". Вот если у вас будет решение - с удовольствием выслушаю.
@Fox said in Корректная остановка BAS:
Нет проблемы управлять количеством потоков динамически. Есть проблема в том, что выбор остановки скрипта через "ждать каждый поток" - не завершает сам скрипт из-за того, что управляющий поток не может быть остановлен.
Требуется или событие, которое сообщает, что БАС ожидает остановку потоков, или не запускать асинхронные функции, стоящие в очереди, в работу.
-
@sergerdn said in Корректная остановка BAS:
Не совсем так, все возможно.
Конечно возможно. И даже один вариант я описал, но это все костыли.
Например, можно иметь кастомный интерфейс к программе. И собственные кнопки завершения, по нажатии на которые можно сделать любую логику в программе.
И это костыль. Мы же просим нормальное, логичное решение со стороны БАСа.
-
@Ajshma Слушай, нос задрал и ладно, я тут дольше тебя на этом форуме и по совокупности если взять все мои тут аки - и по репутации. Письками, меряться не буду.
А по теме - если не использовать матрешку - параллельные потоки в параллельных потоках - то все прекрасно завершается.
Лень кейс описывать - твои проблемы. -
@mister40mrdoors и опять только воздух испортил. Очень напоминает на манеру дакдака...
-
@Ajshma said in Корректная остановка BAS:
@sergerdn said in Корректная остановка BAS:
Не совсем так, все возможно.
Конечно возможно. И даже один вариант я описал, но это все костыли.
Например, можно иметь кастомный интерфейс к программе. И собственные кнопки завершения, по нажатии на которые можно сделать любую логику в программе.
И это костыль. Мы же просим нормальное, логичное решение со стороны БАСа.
Кастомный интерфейс совсем не костыль ни разу. А как раз стандартная возможность сделать все, что угодно разработчику.
Другое дело, что требования к разработчику резко возрастают.
Плюс еще нюансы, что документации толком нет, разные люди наступают на одни и те же грабли, набивают одни и те же шишки и делают это по тихому. Так что другим разработчикам опять приходится проходить тот же путь.
-
@mister40mrdoors said in Корректная остановка BAS:
@Ajshma Да да один из них - и то что тут немного наконфликтил это это никак не отменяет опыта.
Ну вот видишь, может пора меняться? Вроде как опыт есть (по твоему мнению), а кроме как пустословить - ничего предложит не можешь. Вот, давай, если ты такой опытный:
Как завершить поток, который работает в цикле, через выбор остановить скрипт "ожидать каждый поток"? -
@mister40mrdoors said in Корректная остановка BAS:
@Ajshma Да да один из них - и то что тут немного наконфликтил это это никак не отменяет опыта.
Опыт токсичного человека бесполезен для окружающих тк используется для попытки принизить их, а не помочь.
-
@sergerdn said in Корректная остановка BAS:
Другое дело, что требования к разработчику резко возрастают.
И самое главное время разработки, я сам им лично почти не пользуюсь, хотя хорошо в нем разобрался и даже переписал api на более удобное. Но как показывает практика если не пишешь проект для массовых продаж, то этот интерфейс никому не нужен ) А для собственного использования у меня получается обходиться без него, может не так красиво, но личное время это тоже деньги.
-
@sergerdn Кастомный интерфейс костыль - потому, что у меня несколько сотен настроек в интерфейсе. И работа с интерфейсом продолжается уже третий год, каждый день изменяясь. Это я про то, что в принципе работа над скриптом идет очень плотно, и нет времени на постоянную доработку еще и вебинтерфейса. Мало того, если бы автоматическое портирование обычного интерфейса работало корректно - как то оптимизировать можно было. Но к примеру, даже стандартный модуль списка драг-энд-дропа портирование сделать не может, и нужно ручками корячить свои решения.
А проблема решается всего то просто очисткой очереди ассинхронных функций, если пользователь решил остановить скрипт. Все. Проблемы нет.
-
@UserTrue said in Корректная остановка BAS:
Опыт токсичного человека бесполезен для окружающих тк используется для попытки принизить их, а не помочь.
То есть - то что я уточнил у человека, для чего он в потоках использует асинхронный вызов - это по твоему токсичность ?
Или токсичность все же то как он ответил на предложение изложить реальный кейс ?По твоей логике самый токсичный человек тут фокс, который все время уточняющие вопросы задает ...
-
@mister40mrdoors said in Корректная остановка BAS:
По твоей логике самый токсичный человек тут фокс, который все время уточняющие вопросы задает ...
Нет
А вы да:
@mister40mrdoors said in Корректная остановка BAS:@Ajshma Слушай, нос задрал и ладно, я тут дольше тебя на этом форуме и по совокупности если взять все мои тут аки - и по репутации. Письками, меряться не буду.
-
@Ajshma said in Корректная остановка BAS:
@sergerdn Кастомный интерфейс костыль - потому, что у меня несколько сотен настроек в интерфейсе. И работа с интерфейсом продолжается уже третий год, каждый день изменяясь.
Не хочется вступать в холивар, но костыль - это нестандартное решение. А кастомный интерфейс - стандартное.
В твоем случае основная боль, что есть куча кода, которая была рассчитана на обычный стандартный интерфейс и все переписывать долго и тяжко. Так бывает, это не редкость.
Я даже делал так, что писал сайтик, оборачивал его в Electron JS и где-то сбоку был прикручен браузер BAS. И это решение тоже было абсолютно стандартное.
Есть пара скриншотов:
https://community.bablosoft.com/topic/24173/готов-заказать-много-разных-программ-на-bas/37 -
@UserTrue said in Корректная остановка BAS:
@mister40mrdoors said in Корректная остановка BAS:
По твоей логике самый токсичный человек тут фокс, который все время уточняющие вопросы задает ...
Нет
А вы да:
@mister40mrdoors said in Корректная остановка BAS:@Ajshma Слушай, нос задрал и ладно, я тут дольше тебя на этом форуме и по совокупности если взять все мои тут аки - и по репутации. Письками, меряться не буду.
ну так это реакция на его ответ, или у тебя фильтр - типо плохиша нашли и теперь пинаем только его ... А поведение остальных не замечаем ... ну ну ... ладно.
-
@mister40mrdoors Ты не уточнял. Ты в принципе не вник в то, что я писал, а сразу стал свои обиды выплескивать
@mister40mrdoors said in Корректная остановка BAS:
Я понимаю, что вы наверняка больше меня знаете (ну или так думаете)
В подробностях кейса нет никакой необходимости, ведь дело не в кейсе, а в том, что я описал и так достаточно подробно. Управлять потоками нет никакой проблемы. Проблема остановить скрипт корректно, так как "плавная" остановка скрипта (ждать каждый поток) не может примениться к потоку, который работает бесконечно. Для этого надо костыли городить, а мы тут просим реализацию простого решения (очистить очередь асинхронных функций или событие), а не костыли.
-
@UserTrue said in Корректная остановка BAS:
@sergerdn said in Корректная остановка BAS:
Другое дело, что требования к разработчику резко возрастают.
И самое главное время разработки, я сам им лично почти не пользуюсь, хотя хорошо в нем разобрался и даже переписал api на более удобное. Но как показывает практика если не пишешь проект для массовых продаж, то этот интерфейс никому не нужен ) А для собственного использования у меня получается обходиться без него, может не так красиво, но личное время это тоже деньги.
Для собственного использования я вообще предпочитаю использовать конфиг файлы и командную строку. Кастомный интерфейс это все про массовый софт на продажу, тут я согласен. Не для себя и не для редких продаж, так как разработка себя не окупит.
-
@mister40mrdoors said in Корректная остановка BAS:
ну так это реакция на его ответ, или у тебя фильтр - типо плохиша нашли и теперь пинаем только его ... А поведение остальных не замечаем ... ну ну ... ладно.
У меня такая реакция потому что такое почти в каждой теме которую вы посещаете, вы не успели создать новый аккаунт, а я вас уже узнал по данной манере общения. Так что стоит задуматься.