Некоторые фоне. Я хочу удалить кластер AWS Redshift, и процесс занимает более 30 минут. Так это то, что я хочу сделать:Как игнорировать ошибку и продолжить с остальной частью сценария
- Начать удаление
- Каждый 1 минуту, проверьте состояние кластера (оно должно быть «удаление»)
- Когда кластер будет удален, команда потерпит неудачу (потому что он больше не может найти кластер). Так войти какое-то сообщение и продолжить с остальной частью сценария
Это команда бегаю в while
цикле, чтобы проверить состояние кластера после того, как начать удаление:
resp = redshift.client.describe_clusters(:cluster_identifier=>"blahblahblah")
Над командой получит меня статус кластера как deleting
, в то время как процесс удаления продолжается. Но как только кластер будет полностью удален, команда сама потерпит неудачу, поскольку не может найти кластер blahblahblah
.
Здесь ошибка из команды после того, как кластер будет удален:
/var/lib/gems/1.9.1/gems/aws-sdk-1.14.1/lib/aws/core/client.rb:366:in `return_or_raise': Cluster blahblahblah not found. (AWS::Redshift::Errors::ClusterNotFound)
Я согласен с этой ошибкой. Но это приводит к тому, что мой скрипт выходит из строя. Поэтому я хочу записать сообщение The cluster is deleted....continuing
и продолжить свой сценарий.
Я попытался ниже настройки
resp = redshift.client.describe_clusters(:cluster_identifier=>"blahblahblah")
|| raise (“The cluster is deleted....continuing”)
Я также попытался пару внушения упомянутого в https://www.ruby-forum.com/topic/133876 Но это не работает. Мой скрипт выходит один раз выше команды не удается найти кластер.
Вопросы: Как игнорировать ошибки, распечатать свое собственное сообщение о том, «Кластер удален .... продолжается» и продолжить со сценарием?
Спасибо.
Спасибо. Я просто удалил кластер. Мне понадобится еще 2 часа, чтобы проверить ваше решение. Я скоро отправлю отзыв. – slayedbylucifer
@slayedbylucifer Я сделал важный режим, наряду с другой демонстрацией –
@Newlexandria, код все еще не работает, и скрипт выходит сразу. На этот раз я получаю «RuntimeError», который отличается от предыдущей предыдущей: '/home/AWS/aws_redshift_ops.rb:22:in rescue в ': кластер удален ... продолжающийся (RuntimeError) \t из/home /AWS/aws_redshift_ops.rb:19:in '' –
slayedbylucifer