2012-06-17 4 views
22

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

С тех пор это был кошмар. Я не могу получить доступ к соответствующим таблицам базы данных в heroku console, я не могу выполнить миграцию, откат или использование pgbackups.

Услужливо, pgbackups дал мне одну строку объяснения только сейчас:

a transfer is currently in progress 

Это я полагаю, является миграция я попытался выполнить часов назад. Как я могу остановить независимо от того, что делает Heroku, я могу сделать быстрое восстановление и вернуться к работе?

+0

Возможно, вы столкнулись с отключением Amazon, что, в свою очередь, вызвало отключение Heroku. Это произошло около 20 часов назад. Действительно ли «герой-рестарт» полезен? –

+0

'heroku restart' ничего не сделал, я боюсь. Мой вопрос начался около 8 часов назад, поэтому я не считаю, что Amazon связан. – sscirrus

ответ

58

Вы можете удалить резервную копию проблемы, застрявшую в «передаче в настоящее время», путем поиска имени резервной копии и последующего ее уничтожения. Например.

heroku pgbackups 

Мои резервная проблема была указано так:

b210 | 2013/01/02 12:29.33 | unknown | DATABASE_URL 

Так, чтобы уничтожить его, я просто:

heroku pgbackups:destroy b210 

Она устранила резервное копирование проблемы для меня, чтобы я мог получить с используя pgbackups снова правильно.

+0

Это решение сработало для меня. Спасибо! –

+0

Хитрость - я не думаю, что подумал бы об этом. Кажется, она также разблокировала мою проблему. –

+0

Это сработало и для меня! Благодаря! – Taytay

-1

Никогда не стало ясно, что произошло - через день или около того я смог взаимодействовать с heroku console, но мне никогда не удавалось выполнить другую миграцию. Это то, что я сделал:

  1. Переименовал мое приложение в другое.
  2. Создал на своем месте новое приложение, проверяя, что стек был тем же, и копирование всех надстроек и доменов.
  3. Я восстановил базу данных из pgbackups (настоятельно рекомендуется, если вы не используете это дополнение).

Это устранило проблему. Примечание: Будьте уверены, что ваш pgbackup не приведет к неприемлемой потере данных.

+0

Дайте повод для -1, пожалуйста. – sscirrus

+1

Пожалуйста, см. «Will Tew» ответ ... –

+0

Я думаю, что ответ Уилла Тью - правильный ответ, основанный на тексте вопроса. Вопрос состоял в том, чтобы остановить неудачную передачу pgbackups, и его способ решения проблемы гораздо более прямолинейный. Вы считаете, что вместо этого ответьте на свой ответ? –

1

У меня была эта проблема. Найден более простой способ его исправления - кратковременно удалите аддон pgbackups.

heroku addons:remove pgbackups 
heroku addons:add pgbackups 

ПРЕДУПРЕЖДЕНИЕ, как указано в комментариях ниже, это разрушит все сохранившиеся копии!

+8

будьте осторожны, вы потеряете резервные копии, если вы это сделаете. – Ross

+2

Это опасный ответ! – Jesper

+0

Правда. Я отредактировал ответ, чтобы было ясно, что это деструктивная процедура. – micapam

2

Я случайно сделал перевод с моей базы данных COLOR_URL на мою DATABASE_URL, которая была той же базы данных. heroku pgackups:transfer пусть это произойдет, в результате чего основная база данных застрять в

a transfer is currently in progress 

Я зафиксировал его, глядя на список процессов pg:ps и убивая все соединения pg:killall После этого и смотрит на pg:ps список процессов был пуст, и я был свободен снова использовать основную базу данных с pgbackups.

ПРИМЕЧАНИЕ. Это может быть деструктивная операция, поэтому перед выполнением этого убедитесь, что у вас есть моментальный снимок.

+0

Это сработало для меня. FYI, хотя: Кажется, требуется время, чтобы процесс умереть. – AlexQueue

0

Реальное решение - связаться с поддержкой Heroku и заставить их убить процесс изгоев для вас. Они говорят, что они реструктурируют pgbackups, чтобы дать пользователям больше контроля.