Благодарю за ценную информацию. Если есть возможность - сделайте пожалуйста видео на тему удалённой загрузки кода, желательно с использование git и дополнительным автоматическим пост-запуском команд внутри яндекс клауда (например авто запуск npm run dev, после того как завершиться git pull)
В том то и дело что на стороне YCF нет никаких команд. Нет никакой поддержки git в тч. Если говорить про NodeJS, то у вас есть только package.json, кот обрабатывается при сборке версии (а точнее окружения) через npm ci подробнее тут cloud.yandex.ru/docs/functions/lang/nodejs/dependencies. Те лучшее что доступно - вы собираете проект на десктопе (деве), в тч и гит только у вас локально и пушите в YCF через yc cli.
@@AzzraelCode , только я так и не понял, YCF может быть бесплатным в случае ненагруженного использования? до 500-1000 вызовов в день? как-то все запутанно...
Да. До 1 млн вызовов фн на один акк в YC бесплатны. Там есть ещё ограничения, но в целом, если фн простая, то 1 млн доступны. Я не платил за YCF ни разу ;)
@@AzzraelCode , Ок, просто надо автоматизировать некоторые свои процессы. А как узнать с каких IP производится URL фетчинг? по GAE вроде как нашел, не проверял правда еще. для того чтобы разрешить с этих IP обращение к своим серверам. Или может быть в YCF в Python можно импортировать модуль paramiko и подключаться на внешние сервера по SSH? или хотя бы через subprocess вызывать ssh? не пробовали? )) Просто есть 30+ серверов и заходить на каждый руками и что-то делать уже малость поднадоело... при том что на 80% это однотипные задачи.
Не таких задач не решал. В плане фетчинга я бы просто в саппорте запросил маску, думаю дадут. А остального силами YCF не решал. У меня для этого вдска за 100 рублей ;)
Ну это принципиально разные инструменты. FaaS (YCF, GCF, AWS Labda, Azure Functions) это про хостинг - облака, микросервисы и вот это вот все. Ноутбуки (Colab, Jupyter) это про обработку и визуализацию данных. Взять данные оттуда, здесь с ними что-то сделать, нарисовать от данных графики и пошарить куда-то. Датасаенс, аналитика, мл и все такое.
Дмитрий, спасибо за видео. С помощью ваших мануалов запилил связку 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.
Спасибо Автору azzrael.ru/spasibo
Azzrael -- ты офигенный! Настолько четко, лаконично и вместе с тем полно и по делу раскрывать все темы, это нужно иметь талант! Браво!
Спасибо, очень четко все расписано!
красауэлла, брателло! Коротко, ясно и по делу.
Спасибо! Сейчас что-нибудь на Ноде запущу, попробую.
Благодарю за ценную информацию.
Если есть возможность - сделайте пожалуйста видео на тему удалённой загрузки кода, желательно с использование git и дополнительным автоматическим пост-запуском команд внутри яндекс клауда (например авто запуск npm run dev, после того как завершиться git pull)
В том то и дело что на стороне YCF нет никаких команд. Нет никакой поддержки git в тч. Если говорить про NodeJS, то у вас есть только package.json, кот обрабатывается при сборке версии (а точнее окружения) через npm ci подробнее тут cloud.yandex.ru/docs/functions/lang/nodejs/dependencies.
Те лучшее что доступно - вы собираете проект на десктопе (деве), в тч и гит только у вас локально и пушите в YCF через yc cli.
Денис, а видео выходило про которое ты говоришь в конце ролика про объединение, чтобы все работало вместе Cloud Functions Tradingview и Тинькофф api?
До ТИ дело не дошло, но дошло до ботов в телеге ua-cam.com/video/nCW-esaFB9s/v-deo.html&ab_channel=AzzraelCode. Концептуально с ТИ принцип тотже.
Интересненько! по ходу неплохая замена Google Apps Scripts
Yandex Cloud Functions - это прямая альтернатива Google Cloud Functions. GAE это всеже совсем другой инструмент.
@@AzzraelCode , только я так и не понял, YCF может быть бесплатным в случае ненагруженного использования? до 500-1000 вызовов в день? как-то все запутанно...
Да. До 1 млн вызовов фн на один акк в YC бесплатны. Там есть ещё ограничения, но в целом, если фн простая, то 1 млн доступны. Я не платил за YCF ни разу ;)
@@AzzraelCode , Ок, просто надо автоматизировать некоторые свои процессы. А как узнать с каких IP производится URL фетчинг? по GAE вроде как нашел, не проверял правда еще. для того чтобы разрешить с этих IP обращение к своим серверам. Или может быть в YCF в Python можно импортировать модуль paramiko и подключаться на внешние сервера по SSH? или хотя бы через subprocess вызывать ssh? не пробовали? ))
Просто есть 30+ серверов и заходить на каждый руками и что-то делать уже малость поднадоело... при том что на 80% это однотипные задачи.
Не таких задач не решал. В плане фетчинга я бы просто в саппорте запросил маску, думаю дадут. А остального силами YCF не решал. У меня для этого вдска за 100 рублей ;)
На этом сервисе без создания платёжного аккаунта никак? Мне надо только скрипт один мелкий чтобы работал, и всё
очень полезное видео
спасибо
до конца не досмотрел нашёл что хотел: как зависимости добовлять. Спасибо
Чем это отличается от colab Google?
Ну это принципиально разные инструменты. FaaS (YCF, GCF, AWS Labda, Azure Functions) это про хостинг - облака, микросервисы и вот это вот все. Ноутбуки (Colab, Jupyter) это про обработку и визуализацию данных. Взять данные оттуда, здесь с ними что-то сделать, нарисовать от данных графики и пошарить куда-то. Датасаенс, аналитика, мл и все такое.
Дмитрий, спасибо за видео. С помощью ваших мануалов запилил связку 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.
Я сейчас как раз тоже делаю такую связку