# #node.js #google-cloud-platform #cloud #bots
Вопрос:
Если у меня есть 5 ботов для торговли и вместе с этим скрипт, который обновляет цены с помощью очистки. Все эти файлы используют узел js. Теперь я смог развернуть все 6 сценариев в digital ocean, но из-за того, что 6 сценариев работали вместе как 6 разных процессов, загрузка процессора даже в их самом дорогом плане стала 100%. Затем я решил перейти на google cloud. Но оказывается, что с графическим процессором это чертовски дорого. По сути, я хочу выполнить 6 сценариев 3 раза в день в течение 10 минут. Кроме этих конкретных случаев, 6 сценариев ничего не делают. Я установил файл с именем concurrently.js это запускает все эти сценарии с использованием команды одновременно.
Можно ли запустить concurrently.js в 3 определенных времени дня, а затем через 10 минут, когда работа будет выполнена, выключите виртуальную машину?
Скажем, машина включается в 12.00, затем 6 файлов работают в течение 10 минут, а затем машина выключается в 12.10. А затем включается, скажем, в 3.05 вечера и так далее.
Если я смогу планировать включение и выключение виртуальной машины, я смогу позволить себе google cloud.
Я узнал о cron и google cloud scheduler, но им нужен URL-адрес приложения для планирования задач. Но у меня нет URL-адреса приложения, потому что у меня нет только приложения, я просто хочу запустить concurrently.js файл, присутствующий в виртуальной машине вместе с другими файлами, могу ли я выполнить планирование?
Любая помощь будет высоко оценена!!!
Ответ №1:
Вы можете сделать это с помощью Google Cloud. Здесь процесс
- Облачный планировщик запустите виртуальную машину с вычислительным ядром
- При запуске виртуальная машина Compute Engine запускает сценарий запуска, который запускает ваш процесс
- В конце процесса автоматическое выключение виртуальной машины
Так что для этого вам нужно
- Вызовите API запуска вычислительного ядра
- Установите сценарий запуска на вашей виртуальной машине
- Автоматическое выключение виртуальной машины в конце обработки
Если вы застряли на одном шаге, дайте мне знать, я мог бы сузить свою помощь.
Комментарии:
1. Большое вам спасибо за ваш ответ! Я действительно попробовал Microsoft Azure, потому что мне не удалось создать учетную запись в Google Cloud. Я могу автоматически запускать и автоматически выключать виртуальную машину, но я не могу открывать файлы как процессы. Можно ли это сделать без использования pm2 или навсегда? Я просто хочу запустить эту команду в своей виртуальной машине, когда она запустится «узел concurrently.js»
2. Что такое pm2?? Кроме того, будьте осторожны, когда вы запускаете сценарий запуска, вы запускаете его с корневым контекстом (и разрешением). Таким образом, некоторые элементы в ПУТИ отсутствуют, и у вас могут возникнуть трудности с выполнением некоторых команд. Можете ли вы подробнее рассказать, что не работает? Или создайте для этого новый вопрос