Как да запазите жив само работника на безплатното ниво на Heroku от приложението?

Тествам приложение с воркър и уеб динамометричен модул на безплатно ниво на Heroku и бих искал да поддържам воркера жив, за да мога да изпълнявам задачи във фонов режим, докато оставям уеб динометъра да не работи. По подразбиране и двамата не работят за 30 минути, дори ако имам неща на опашката на работника.

Разбирам, че има начини да поддържате мрежата жива (а с това и работника) и има начини да поддържате мрежата жива, като намалявате мащаба на работника. Въпреки това бих се нуждаел от работника жив и мрежата в празен режим.

Опитах се да стартирам повтаряща се работа на работника, което би

  1. Рестартирайте динометъра.
  2. Намалете динометъра и след това го върнете обратно.

И двата подхода проработиха (както при рестартиране и правилно мащабиране на динамометричния стенд), но работният динамометричен стенд все още щеше да не работи след 30 минути (като че ли зависи от уеб динамометричния генератор). Редактиране: да, това е почти така, както е обяснено тук: https://devcenter.heroku.com/articles/free-dyno-hours#dyno-sleeping

Бих могъл да направя това отвън, но изглежда, че ще трябва постоянно да проверявам състоянието, тъй като новото рестартиране изглежда не ми дава 30 минути напред. Също така ще трябва да изложа API ключа, който бих искал да избегна.


person thisismydesign    schedule 23.05.2018    source източник


Отговори (3)


Ако ви разбрах правилно, вие се опитвате да спрете уеб дино и да оставите работния дино жив.

Можете да направите това, като отидете в раздела Ресурси: въведете описание на изображението тук

И след това в секцията „уеб“: въведете описание на изображението тук

Натиснете молива, изключете го и натиснете „Потвърди“.

person Nikita Ivanov    schedule 23.05.2018
comment
Благодаря за отговора, но не съвсем. Бих искал да запазя уеб dyno и да го оставя неактивен след 30 минути, както обикновено (разликата е, че когато посетя страницата, той ще се стартира автоматично), като същевременно работещият работи 100% от времето. - person thisismydesign; 23.05.2018

Като заобиколно решение в момента премахвам уеб dyno и изрично го активирам, когато имам нужда от него. Както е обяснено тук:

Free dynos само за работници не спят, тъй като не отговарят на уеб заявки.

person thisismydesign    schedule 24.05.2018

Моето решение беше просто да създам две приложения, които се внедряват автоматично от едно и също хранилище. След това всичко, което трябва да направите, е да активирате работния dyno за единия и уеб dyno за другия.

person poutingemoji    schedule 20.06.2021