День добрый! Столкнулся с проблемой. Очередной.. Даю команду на снятие заявки. Жду сначала ответа от трансрепли, потом от онордера. Макс ожидание 10 сек. Прошла одна пауза (в раб. сессию), потом вторая десятисекундка - тишина. Скрипт решил что не прошло, и продолжил работу, благополучно навертев мне всякой ерунды.
Вопрос. Если я отправил заявку и не пришел ответ, что делать? Ждать до бесконечности? Ведь может же получиться, что и при соединении и при сессии, при всем нормальном, ответа долго не будет, а потом он придет и команда исполнится? И может ли так получиться, что команда просто уйдет в никуда и потеряется. Без всяких ответов? Если такого быть не может, то да, надо ждать, ведь отменить то, что я уже отправил и на что ответа не получил я не могу. Или могу?
Еще вопрос. На скорость получения ответа что-то влияет? Например объем данных, получаемых в раб место, заполненность ТВС, которая к концу сессии выше и тд.
Здравствуйте, При всем нормальном ответ на транзакцию должен быть всегда. Если по каким-то причинам его нет или он приходит с ощутимой задержкой это повод обратиться к брокеру, возможно есть проблемы на его стороне.
Рабочее место пользователя тоже может привести к таким последствиям, если привести к зависанию терминала. Например если сделать бесконечный цикл в событии.
Сергей, день добрый. Про зависание - понятно, но его не было, логи шли по скриптам, а ответа все не было. Потом он пришел секунд через 30 и из-за моей реализации скрипт поплыл.
Про брокера понятно, так что конкретизирую вопросы:
1. Ситуация - ждем ответ, его все нет. Что вы, как разработчики, посоветуете делать? Если просто дальше ждать, то может вообще моя транзакция не дошла? Если еще одну отправить - две могут в результате исполнится. Какой алгоритм действий вы можете предложить в ситуации долгого ответа?
2. Кроме бесконечного цикла в скрипте, сами по себе настройки квика могут повлиять на скорость и качество обмена инф с сервером? Нагруженость, так сказать, квика повлияет на это?
Viktor MMM пишет: 1. Ситуация - ждем ответ, его все нет. Что вы, как разработчики, посоветуете делать? Если просто дальше ждать, то может вообще моя транзакция не дошла? Если еще одну отправить - две могут в результате исполнится. Какой алгоритм действий вы можете предложить в ситуации долгого ответа?
Если ответа нет, наверное следует вывести ошибку в лог и остановить работу. Но решать Вам.
Цитата
Viktor MMM пишет: 2. Кроме бесконечного цикла в скрипте, сами по себе настройки квика могут повлиять на скорость и качество обмена инф с сервером? Нагруженость, так сказать, квика повлияет на это?
Настройки могут повлиять на нагрузку процессора, а нагрузка процессора может привести к зависанию, так что да. Есть соответствующие рекомендации по оптимизации: http://www.quik.ru/user/faq/optimization/
Цитата
Viktor MMM пишет: 3. Как через клуа пинговать сервер?
Либо os.execute, либо параметр "Задержка данных при обмене с сервером" информационного окна, работает при включенной галке "Проверять связь с сервером каждые … секунд" в меню Связь - Доступные соединения
к вопросу 2. Если сводить к минимуму ТВС, настраивать графики на минимальное отображение кол-ва свечей, еще что-то подстроить, списки, понятное дело, повлияет все это на качество обмена данных между раб местом и сервером? Или все это припарки?
для начала, приведите весь скрипт полностью. В другой Вашей теме Вам уже ответили, что это за кодировки. Осталось только увидеть весь скрипт, чтоб понять, ка Вы получаете эти строки.