2017-01-11 4 views
0

Я хотел бы настроить приложение Heroku для запуска запланированной задачи один раз в день. Мой источник дерево выглядит следующим образом:Предотвратите запуск Heroku от веб-диноза

bin/myScript 
Procfile 
package.json 

Когда я развернуть приложение, я вижу следующее сообщение об ошибке:

2017-01-11T04:31:36.660973+00:00 app[web.1]: npm ERR! missing script: start 

Я считаю, что это происходит потому, что Heroku пытается раскрутить веб-дино. У меня нет веб-диноза, и я не хочу этого. Так что я создал Procfile с этой линии:

heroku ps:scale web=0 

Чтобы предотвратить Heroku от раскручивания веб-дино. Это не сработало. Что еще я могу сделать, чтобы предотвратить сбой приложения после развертывания? Имеет ли значение, если запланированная задача будет запущена в отдельном одноразовом Dyno?

ответ

1

Вы не должны иметь строку «heroku ps: scale web = 0» в своем Procfile. Выполнение этого действия позволяет герою создать тип процесса, называемый «heroku», который пытается запустить следующую команду для любых экземпляров dyno, созданных для него: «ps: scale web = 0». Вероятно, это приведет к ошибкам и, во всяком случае, не то, что вы намеревались.

Вместо этого вы должны запустить «heroku ps: scale web = 0» в качестве команды CLI для инструмента Heroku toolbelt (или выполнить эквивалент на вкладке «Ресурсы» графического интерфейса пользователя, как вы уже это сделали).

+0

имеет смысл, спасибо! –

0

Я думаю, что нашел исправление: на вкладке «Ресурсы» графического интерфейса для Интернета есть список динамиков с ползунками включения/выключения рядом с ними. Я переключил слайдер веб-динамометра, и теперь, когда я развертываю, нет сбоя. Тем не менее, мне непонятно, почему строка Procfile была недостаточной.