У меня есть script, который должен запускаться на моих данных. Для этого я сделал рейк-задачу. Если я запустил задачу rake, используя rajk-rake my_task: my_action, и через некоторое время мой интернет отключится. Что случилось бы. Будет ли выполнение задачи продолжаться по мере ее запуска на удаленной машине. Я думаю, что это будет продолжаться. Любые идеи.
Если я закрою свой терминал, начнется задача грабли на Heroku
Ответ 1
Процессы, запущенные в одноразовый dyno (тип dyno, который снабжен heroku run command
), подключаются к вашему локальному терминалу и прекратится, если ваш интернет отключится или вы отмените команду локально.
Чтобы выполнить процесс в одноразовом дино, который не подключен к вашему локальному терминалу, использовать heroku run:detached
:
$ heroku run:detached bundle exec rake my_task:my_action
Running `bundle exec rake my_task:my_action` detached... up, run.7562
Use `heroku logs -p run.7562` to view the output.
Чтобы понять, работает ли одноразовый динамик, используйте heroku ps
. Одноразовые dynos называются run.X
, где X
- некоторое число.
Ответ 2
Вы можете запустить rake в screen
, чтобы предотвратить разрыв вашего script/rake, если вы отключились.
Ответ 3
Ребята, поэтому, пытаясь и исследуя, я обнаружил, что в обычных обстоятельствах он не продолжается. Когда терминал закрывает трубы, он останавливается, чтобы продолжить.