developing2020-02-02RustでMySQLにpingをうつRustlocal環境でdocker-compose等を利用してDBを立ち上げた際に、DBの"ready"を待ちたいことがありました。最初は、tcp接続でよしとしていたのですが、やはりprotocol的な"ready"が必要だったので、pingをうつ必要がありました。いうことで、RustでMySQLにpingを打ち続けるCLIを作ってみました。codeflagは以下のような感じです。[--forever|--max-retry=20]接続のための情報とどれくらいretryするかを指定して、pingが通るまでblockします。crateを利用しました。issueでもあがっていたのですがOptsBuilder::new().tcp_port().user()のように、OptsBuilderを生成してそのまま、methodを呼ぶと、Optsに変換できずにハマってしまい、以下のようにしました。imageにしました。stageで、buildとruntimeをわけられるにしたいです。Go最初はGoで書いていました。context.Contextのおかげで、timeout系の処理が非常に書きやすいと思いました。(1)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。