Благодарю за ценную информацию. Если есть возможность - сделайте пожалуйста видео на тему удалённой загрузки кода, желательно с использование git и дополнительным автоматическим пост-запуском команд внутри яндекс клауда (например авто запуск npm run dev, после того как завершиться git pull)
В том то и дело что на стороне YCF нет никаких команд. Нет никакой поддержки git в тч. Если говорить про NodeJS, то у вас есть только package.json, кот обрабатывается при сборке версии (а точнее окружения) через npm ci подробнее тут cloud.yandex.ru/docs/functions/lang/nodejs/dependencies. Те лучшее что доступно - вы собираете проект на десктопе (деве), в тч и гит только у вас локально и пушите в YCF через yc cli.
До ТИ дело не дошло, но дошло до ботов в телеге ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-nCW-esaFB9s.html&ab_channel=AzzraelCode. Концептуально с ТИ принцип тотже.
@@AzzraelCode , только я так и не понял, YCF может быть бесплатным в случае ненагруженного использования? до 500-1000 вызовов в день? как-то все запутанно...
Да. До 1 млн вызовов фн на один акк в YC бесплатны. Там есть ещё ограничения, но в целом, если фн простая, то 1 млн доступны. Я не платил за YCF ни разу ;)
@@AzzraelCode , Ок, просто надо автоматизировать некоторые свои процессы. А как узнать с каких IP производится URL фетчинг? по GAE вроде как нашел, не проверял правда еще. для того чтобы разрешить с этих IP обращение к своим серверам. Или может быть в YCF в Python можно импортировать модуль paramiko и подключаться на внешние сервера по SSH? или хотя бы через subprocess вызывать ssh? не пробовали? )) Просто есть 30+ серверов и заходить на каждый руками и что-то делать уже малость поднадоело... при том что на 80% это однотипные задачи.
Не таких задач не решал. В плане фетчинга я бы просто в саппорте запросил маску, думаю дадут. А остального силами YCF не решал. У меня для этого вдска за 100 рублей ;)
Дмитрий, спасибо за видео. С помощью ваших мануалов запилил связку tradinview webhook -> yandex function -> Binance. В целом все работает, но есть 1 нюанс: Если в скрипте на TV есть несколько последовательных алертов , то в логах yandex function появляется ошибка: ERROR RequestID: e8a173f4-095c-4cc6-88e9-bf69c81b67b7 Code: 499 Message: Request cancelled Я так понимаю, что TV не дожидаясь ответа от скрипта функции рвет соединение. Яндекс функция это видит и убивает исполнение скрипта и пишет ошибку в лог. Как это поправить совсем не понимаю. Есть идеи?
У TV в доках написано буквально следующее: "If a remote server processes a request for more than 3 seconds, the request then gets cancelled." Соотв со стороны TV ничего не сделать. На стороне своего сервера можно разное придумать. Если нужны именно YCF, то можно попробовать сделать цепочку из двух функций. В одной принимать вебхук и вешать триггер, а во второй отрабатывать триггер и слать запросы в Binance. Ну как вариант на вскидку.
@@AzzraelCode TV явно не ждет 3с. Проблема проявляется, когда по условиям идет несколько вызовов alert() подряд за один вызов Pine скрипта. Он кидает несколько вебхуков, но ждет 3с только на какой-то один из вызов alert. А можно как-то заставить yandex не убивать исполнение скрипта если отвалился клиент? yandex function абсолютно не принципиален. Если возмьму какой-то хостинг это как то может помочь?
> заставить yandex не убивать Я о таком способе не знаю. Думаю что нет, тк не вписывается в концепцию. Почитайте про Yandex Message Queue возможно вам подойдет. Хотя, мое мнение вы уже знаете ;), строить что-то активное на алертах из TV, тем более под Binance API (с их диким recvWindow), тем более из российских ДЦ весьма сомнительное предприятие. > возьму какой-то хостинг Сам по себе хостинг ничего не даст, конечно. Но у вас будет больше простора в архитектуре (но и головняков прибавится). По крайней мере дроплет в AWS (если сможете его купить) кардинально, в разы, ускорит обмен с Binance API.
Ну это принципиально разные инструменты. FaaS (YCF, GCF, AWS Labda, Azure Functions) это про хостинг - облака, микросервисы и вот это вот все. Ноутбуки (Colab, Jupyter) это про обработку и визуализацию данных. Взять данные оттуда, здесь с ними что-то сделать, нарисовать от данных графики и пошарить куда-то. Датасаенс, аналитика, мл и все такое.