«скрипт прерван через 2000 мс (бесконечный цикл?)» в скриптах Senzoukria

Каждый скрипт Senzoukria выполняется в изолированном worker с бюджетом 2 секунды на прогон. Скрипт, который его превысил, прерывается сообщением «скрипт прерван через 2000 мс (бесконечный цикл?)»; у песочницы, которая вообще не запустилась, своё сообщение.

Senzoukria · Решение проблем · Обновлено: сентябрь 2026


Кратко

Тайм-аут
«скрипт прерван через {ms} мс (бесконечный цикл?)»
Бюджет
2000 мс на прогон
Песочница не отдана
«песочница недоступна: протокол {scheme} ничего не отдал за {ms} мс (приложение запущено вне Tauri?)»
Следствие
График продолжает работать; прогон скрипта возвращает ошибку

Что вы видите

Консоль скрипта и полоса конвейера показывают прогон как неудавшийся с текстом «скрипт прерван через 2000 мс (бесконечный цикл?)». Если песочница вообще не ответила, ошибка будет «песочница недоступна: протокол {scheme} ничего не отдал за {ms} мс (приложение запущено вне Tauri?)».

Почему это происходит

Скрипты выполняются в одном изолированном worker без сети, без доступа к файлам и без API брокера. Прогон, который не ответил в пределах своего бюджета, прерывается, чтобы сломанный скрипт не мог заморозить график. Чаще всего причина — цикл, который никогда не заканчивается, или цикл по всем барам, вложенный в другой цикл по всем барам. Два сбоя намеренно разделены: два с половиной месяца песочницу, которая не запускалась, читали как медленный скрипт. Запуск движка Python измеряется отдельно и в бюджет 2 секунды не входит.

Как исправить

  • Ищите циклы while, чьё условие выхода может остаться ложным, и счётчик, который никогда не обновляется.
  • Замените вложенные циклы по всем барам одним проходом, который несёт накопительные значения.
  • Проверьте на более коротком диапазоне графика, растёт ли время с числом баров.
  • Воспользуйтесь ассистентом скриптов: он может запустить скрипт, прочитать настоящую ошибку и предложить исправление.
  • При сообщении о песочнице перезапустите приложение: оно означает, что протокол песочницы ничего не отдал.

Чем это не является

  • Не сбой приложения: сломанный скрипт никогда не убивает график.
  • Не синтаксическая ошибка: те указывают на строку («Ошибка в строке {line}»).

Когда обращаться в поддержку

Всё ещё не работает после этих проверок? Воспользуйтесь меню → «Сообщить о проблеме» или напишите в Discord Senzoukria. Приложите минимальный скрипт, который воспроизводит прерывание, и укажите, на каком графике и таймфрейме он работает.

В этом же разделе

Эта страница на других языках

Частые вопросы

Бюджет 2 секунды — на бар или на прогон?
На прогон. Инструменты C++ называют тот же предел: 2 с на прогон, с 256 последними барами на вызов.
У скриптов Python тот же бюджет?
Их выполнение подчиняется тем же правилам песочницы; вне бюджета 2 секунды измеряется только запуск движка Python.

Что почитать дальше