Как применить таймаут к экшну "Парсить строку"?



  • Никаких ограничений внутри экшна нет (т.е. стандартного значка часов). Экшн "Таймаут" так же никак не влияет на время выполнения "Парсить строку". Как можно решить проблему?



  • @korzhec Эм.. А зачем это? Вообще таймаут для этого действия не имеет смысла.



  • @denis_krsk
    Попробуйте распарить строку объемом 1кк символов.



  • @xclsv Скиньте такую строку и то что из нее надо получить.



  • @denis_krsk
    Немного другой пример - парсю файл, если становится пуст, то нужно парсить другой, если другой пуст, то третий. понимаю, что можно сделать проверку через костыли, но все-таки хотелось бы таймаут...



  • @korzhec Да просто парсить строку действие синхронное и таймаут тут не применим. Я бы в таком случае написал на специально функцию на js


  • administrators

    @korzhec said in Как применить таймаут к экшну "Парсить строку"?:

    парсю файл, если становится пуст, то нужно парсить другой, если другой пуст, то третий.

    А в чём сложность то? Читаете файл в переменную, если файла не существует, или файл пустой, то сработает простое условие if [[VARIABLE]] == "". Если файл читаете в список, то можно узнать количество элементов одноимённым действием "Количество Элементов"



  • @fox сложность в том, что работа идет не с файлом, а с ресурсом, который еще и перезагружается с определенными специфическими интервалами, что необходимо для соблюдения важных пауз в работе


  • administrators

    @korzhec Опишите более подробно весь алгоритм работы скрипта.


    Если используйте ресурс, то достаточно использовать галочку "не прирывать приложение"
    0_1536908544978_e1acc71c-ad3c-4566-80c7-3151d9d90939-изображение.png
    и обернуть само действие в "игнорирование ошибок", а дальше уже ставить условие if [[WAS_ERROR]] читать другой файл..


  • Banned

    @fox

    @fox said in Как применить таймаут к экшну "Парсить строку"?:

    if [[WAS_ERROR]]

    ([[WAS_ERROR]])
    ;-) @Fox указываете правильно. Это ты знаешь что надо скобки нас читают и новенькие поставит was_error без скобок и получит can't find var..


  • administrators

    @allive

    was_error без скобок и получит can't find var..

    Всю жизнь без скобок ставлю, ни разу не было ошибок


  • Banned

    @fox Выполнить код?
    Я про кубики. Новенькому проще, а там надо.


  • administrators

    0_1536910700641_на форум29.gif


  • Banned

    @fox ммм. Не нал. У мну этой проверкой ответ от капа проверяется на ошибку и вот там в многопотоке крашилось. Один раз переделал больше не падает. Мож от версий зависит. Делал то давно в 17 году еще. Надо будет сегодня попробовать. Спасибо
    Гифок не будет)) Вот из рабочего кусок
    alt text



  • @fox не работает не одно из предложенных решений. Точнее работает, но не так как хотелось бы.
    Есть скрипт А и Б. Скрипт А что-то делает с аккаунтами, передает их скрипту Б. Ресурс 1 скрипта Б стоит с перезагрузкой в 3 минуты (чтобы аккаунты смогли хоть чуть-чуть отлежаться), а также существует ресурс 2 (дефолтный), из которого берутся аккаунты в случае их отсутствия в ресурсе 1. Проблема в том, что, как ни крути, парсинг все равно переходит в режим "Ожидаю ресурс", что занимает около МИНУТЫ.
    Даже с учетом того, что я сделал мгновенное удаление ресурса и проверку через "Читать файл" потоки все равно сваливаются в ожидание ввиду того, что их много. Видимо, они одновременно читают файл ресурса 1, где еще есть несколько аккаунтов, но кому то из потоков не достается акка и он уходит в ожидание появления нового аккаунта.
    Вот как раз, чтобы не было этой минуты ожидания (или, возможно, даже больше) и нужен таймаут к экшну парсить строку.0_1537034367045_Сохраненное изображение 2018-9-15_20-58-33.316.jpg



  • @korzhec
    вот это разве не помогает?

    0_1537034659756_2018-09-15_210355.png



  • окей, попробую. спасибо



  • @uraabk нет, не помогает. Все равно поток сваливается в ожидание


  • administrators

    @korzhec Скидывайте проект (можете в личку) посмотрим. Быстрее получится.



  • @fox спасибо, вроде как через костыли удалось решить проблему. Но , надеюсь, создатели добавят таймаут к действию