Реально достал подход запуска в скрипта в Луи, если я запускают скрип в автономную работу (в просто народье жму плей) и во время работы происходит ошибка, то скрипт вырубается и при следующем запуске/перезапуске Квика больше не стартует. Из-за этого система может вырубиться из-за каких-нибудь секундных сбоев на бирже и не когда не запустится, на перёд знать какое рукопопье произойдёт знать нельзя, только после того как это произошло можно увидеть в логе. Верните принцып работы скрипта как в купле, если я нажал плей то это запускать скрипт прикаждом перезапуска Квика, пока я не нажму сам стоп. Если выпола ошибка остановить и запустить при следующем запуске Квик, а лучше как в купле остановить на время. А то пришёл, смотрю что система выпола и два дня позиции стоят и ни кто не закрывает, а выпола из-за того что на секунду график перезагрузился.
Sergey Gorokhov написал: Для решения проблемы не используйте относительные пути при доступе к сторонним файлам.
Там нет относительных путей! Понятно что скрипт доделывать нужно, но одно если он был запущен - то нужно и запускать каждый раз когда загружается квик, а не выключать загрузку скрипта при каком либо сиюминутном сбое! Там х.з. что может быть (биржа мутит как), мы же не можем прописать всё и вся сразу!
Если возникает ошибка при работе кода, то код не должен работать и это абсолютно правильно. Если Вы не знаете в каком месте ошибка, добавьте логирование и найдите. Если знаете но не можете устранить покажите нам код, постараемся помочь.
Sergey Gorokhov написал: Для решения проблемы не используйте относительные пути при доступе к сторонним файлам.
Там нет относительных путей! Понятно что скрипт доделывать нужно, но одно если он был запущен - то нужно и запускать каждый раз когда загружается квик, а не выключать загрузку скрипта при каком либо сиюминутном сбое! Там х.з. что может быть (биржа мутит как), мы же не можем прописать всё и вся сразу!
так как скрипт без ошибок надо запускать лишь один раз, то Полагаю,что у Вас следующая проблема: ------------------------- Когда Вы запускаете скрипт кнопкой, то в КВИКЕ уже загружены все данные, которые использует Ваш скрипт и он нормально запускается. ------------------------ Потом Вы выключаете КВИК. При следующем запуске КВИКА с включенным скриптом, скрипт начинает работу сразу же при запуске КВИКА, но информация с сервере еще не пришла. В результате Ваш скрипт натыкается на nil и завершает свою работу по ошибке. ------------------------- Вы полагаете, что скрипт был выключен при закрытии КВИКА, а он просто не может возобновить свою работу. ------------------------- В результате Вы опять вынуждены его запускать нажатием кнопки при новом запуске КВИКА. -------------- Верно ?
Скрипт работает, при каждом запуске. Но наступает момент, при котором выпадает Fatal Error (local s = {} tostring(s.chtoto) - конечно выдаст фатальную ошибку) и всё скрипт падает и больше не запускается автоматически.
Понимаете разницу? Если бы он наткнулся на ошибку, задокументировал и в следующем запуске стартанул заново - проблем бы не было! Но он не стартует и сейчас вопрос не в ошибке и как её исправлять, а в логике запуска. Понятно дело что ошибку я исправлю, но пока не исправлю, путь запускается по логике. Потому что ошибка может быть, а может и нет. Мы же когда запускаем windows, что все программы которые вызвали ошибку не запускаются повторно пока мы её не устранили?
Ещё раз для особо впечатлительных, LUA и программирование здесь вообще не причём, хоть NULL на вечность делите. Я говорю о том что при при любых обстоятельствах, скрипт должен запускаться после запуска Квика? если оператор нажал на кнопку "пуск" и пока не будет нажата кнопка "стоп", а не когда программе вздумается! Что здесь не понятного?
Роман, На самом деле, Ваш вопрос звучит так "как сделать так чтобы код содержащий ошибки не останавливался" Ответ уже был озвучен, избавьтесь от ошибок. Пока в коде есть ошибки он не будет "всегда" работать. И да, проблема не в LUA.
Роман написал: Ещё раз для особо впечатлительных, LUA и программирование здесь вообще не причём, хоть NULL на вечность делите. Я говорю о том что при при любых обстоятельствах, скрипт должен запускаться после запуска Квика? если оператор нажал на кнопку "пуск" и пока не будет нажата кнопка "стоп", а не когда программе вздумается! Что здесь не понятного?
Вот странный народ. Кроме того, что не в состоянии написать программу без ошибок, так еще и не в состоянии внимательно прочесть ответ на свой вопрос. И, ничего не поняв, переходит на визг.
Думаю, что если бы вы сначала подумали, потом разобрались, а еще потом поэкспериментировали с делением math.huge на nil внутри функции do_normal_script(), то впечатлились бы, насколько просто решается ваша проблема.
s_mike@rambler.ru - визжишь ты, сливая деньги на счете. Тебе написали что вопрос не в программирование, а в алгоритме запуска скрипта!
Вот так поедешь в отпуск, а на бирже очередной сбой, график косой, скрипт запрашивает Клоз, а его нет и программа падает и не запускается, а цена идёт против тебя. А ты жопу греешь на солнце не зная об этом. Если бы скрипт запустился следующий раз, то он пошел бы дальше работать оставив ошибку в логе, так как биржа бы исправила косяк.
Sergey Gorokhov - да, это же ваши косяки или косяки биржи - это ошибку вызывают.Как от вас избавишься? Или выпускайте продукт, что бы вообще не одной ошибки не было в нём. А то сидите и рассказываете задним числом как работать надо!
Роман написал: s_mike@rambler.ru - визжишь ты, сливая деньги на счете. Тебе написали что вопрос не в программирование, а в алгоритме запуска скрипта!
Вот так поедешь в отпуск, а на бирже очередной сбой, график косой, скрипт запрашивает Клоз, а его нет и программа падает и не запускается, а цена идёт против тебя. А ты жопу греешь на солнце не зная об этом. Если бы скрипт запустился следующий раз, то он пошел бы дальше работать оставив ошибку в логе, так как биржа бы исправила косяк.
Sergey Gorokhov - да, это же ваши косяки или косяки биржи - это ошибку вызывают.Как от вас избавишься? Или выпускайте продукт, что бы вообще не одной ошибки не было в нём. А то сидите и рассказываете задним числом как работать надо!
Посмотрите на проблему немного иначе. КВИК , по определению, это программа подачи поручений брокеру. Есть другие способы подачи таких поручений -телефон, бумажный носитель. -------------------------------------- Все , что есть в квике кроме возможности подачи поручений - это бесплатное приложение (Увы, но это юридически именно так). --------------------------------------- Поэтому получается, что никто ничего Вам не должен. --------------------------------------------- Полагаю, что не только Вам хочется, чтобы скрипт работал вечно и без вмешательства. Но увы, реалия такова, что если скрипт написан плохо, то КВИК то квик его закрывает. Так сделали разработчики и это их право. -------------------------------------- Хотите иначе - пишите пожелания, делайте проверки внутри скрипта, ставьте защиту от падения. Ваше право. ----------------------------- Успехов.
Речь не идёт о постоянном перезапуске. Речь идёт о том, что бы в Квике имелась возможность (в настройках или панели запуска LUA) запускать скрипт заново при ЗАГРУЗКИ квика - если он отворился самостоятельно , если администратор Квика не нажимал на кнопку, остановить скрипт.
И вообще с запуском скрипта у Квика целая проблема, очень часто - когда первый раз запускаешь скрипт, в вечном цикле, и не сохраняешь настройки, то уже при последующем запуске он не запуститься.
Роман написал: Речь не идёт о постоянном перезапуске. Речь идёт о том, что бы в Квике имелась возможность (в настройках или панели запуска LUA) запускать скрипт заново при ЗАГРУЗКИ квика - если он отворился самостоятельно , если администратор Квика не нажимал на кнопку, остановить скрипт.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Роман написал: Речь не идёт о постоянном перезапуске. Речь идёт о том, что бы в Квике имелась возможность (в настройках или панели запуска LUA) запускать скрипт заново при ЗАГРУЗКИ квика - если он отворился самостоятельно , если администратор Квика не нажимал на кнопку, остановить скрипт.
Добрый день,
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО. 1881020