並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 129件

新着順 人気順

gracefulの検索結果1 - 40 件 / 129件

  • Go言語でGraceful Restartをする

    とあるHTTPサーバをGolangで立てようって話になったんだけど、 止まると困るので無停止でサーバ再起動をしたい。 PerlにはServer::Starterという有名モジュールがあるんだけど、 Golangはどうなってるの?ってことで調べてみました。 2017-01-22追記: Go1.8以降でGraceful Shutdownがbuild-inになるので、この記事で紹介したライブラリは不要となりました。 詳しくはGo1.8のGraceful Shutdownとgo-gracedownの対応を参照。 gracefulじゃないバージョン Golangの標準ライブラリを使ってHTTPサーバを立ててみる例。 レスポンスが一瞬で終わってしまうとよくわからないので、sleepするhandlerを追加しておきます。 package main import ( "fmt" "log" "net/ht

    • Dr Nic » [ANN] Generating new gems for graceful goodliness

      Dr. Nic is the CEO and founder of Stark & Wayne. He previously served as both VP of Technology and VP of Engineering at Engine Yard. He discovered Cloud Foundry in 2011, and launched Stark & Wayne in 2012 to help the enterprise world with successfully running application container platforms. Dr Nic is a heavy user and evangelist of Cloud Foundry, Kubernetes, Rancher, Concourse CI, and BOSH. He is

        Dr Nic » [ANN] Generating new gems for graceful goodliness
      • A simple golang web server with basic logging, tracing, health check, graceful shutdown and zero dependencies

        main.go ��Q,�U � w,�U package main import ( "context" "flag" "fmt" "log" "net/http" "os" "os/signal" "sync/atomic" "time" ) type key int const ( requestIDKey key = 0 ) var ( listenAddr string healthy int32 ) func main() { flag.StringVar(&listenAddr, "listen-addr", ":5000", "server listen address") flag.Parse() logger := log.New(os.Stdout, "http: ", log.LstdFlags) logger.Println("Server is starting

          A simple golang web server with basic logging, tracing, health check, graceful shutdown and zero dependencies
        • Go言語でGraceful Restartをするときに取りこぼしを少なくする

          少し前にStarletにGraceful Restartが時たま上手く動かない問題を修正するpullreqを投げました。 原因は割り込みハンドラ内でexitを呼んでいたからでした。 「割り込みハンドラ内ではフラグを建てるだけ」 「メインのプログラム内でそのフラグを見て分岐する」という原則があるのですが、それを守るのは難しいということですね。 (しかし新たな問題を産んでしまいrevertされてしまいましたが・・・ まあ修正後のコードも考え方は一緒です。割り込みホント難しい・・・) このpullreqを取り込んでもらうときに再現実験をやってみたのですが、 Goでもちゃんと動くのかな?と気になったので Go言語でGraceful Restartをするで紹介した プログラムに同じテストをやってみました。 2017-01-22追記: Go1.8以降でGraceful Shutdownがbuild-i

          • Unicorn の graceful restart と環境変数 - eagletmt's blog

            Unicorn の graceful restart は無停止でのデプロイを可能にして非常に便利だが、fork を用いて実装されている都合で古いプロセスから新しいプロセスに環境変数が引き継がれるため、そのことに起因するトラブルがいくつかある。 dotenv の設定が書き変わらない 設定情報を dotenv で管理している人も多いと思うけど、環境変数を使っているので罠がある。 例えば最初に .env に MEMCACHE_SERVERS=memcache-server-001:11211 と書いてあったとする。 このとき Unicorn を起動すると、dotenv によって MEMCACHE_SERVERS=memcache-server-001:11211 が環境変数に追加される。 その後、接続先として memcache-server-002:11211 を追加したくなって .env を編

              Unicorn の graceful restart と環境変数 - eagletmt's blog
            • HAProxy で graceful restart する方法 - 酒日記 はてな支店

              haproxy には起動後に設定ファイルを読み込み直したりする機能がないので、バランス先を追加するなどの変更が無停止ではできない、と思い込んでいたのだけど実は違った、というお話。 実際、同一プロセスで読み込み直すことはできないのだけども、以下のような手法で graceful に再起動することができる。man はちゃんと読みましょう。 # haproxy -f /path/to/haproxy.conf -sf [既に動いているhaproxyのpid]として -sf オプションに pid を渡して起動すると…… haproxy[2] : 起動 haproxy[2] : 既に動いている haproxy[1] に SIGTTOU を送信 haproxy[1] : SIGTTOU を受けると Listen をやめる 新規接続は受け付けない 既に確立している接続はそのまま維持 haproxy[2]

                HAProxy で graceful restart する方法 - 酒日記 はてな支店
              • Unicornのgraceful restartで少しハマった件 - hack in 3 minutes

                RailsサーバーのUnicornはmasterプロセスにUSR2シグナルを送ると、新しい設定・アプリのリロードを無停止で行うgraceful restartな動きをしてくれます。 この仕組を理解してなかったのでそれのメモ。 ドキュメントも何も見てない時の認識 現行のmasterが新しい設定・アプリをロードした新masterプロセスをforkする 新masterとそこから生えるworkerがreadyになって、新旧のUnicornが処理を行う 頃合いを見て旧masterは勝手に落ちる と思ってたんだけど、実際試してみても3のタイミングになっても旧masterがなかなか落ちてくれない。 旧masterのCPU利用率はだんだん下がってきているので、それがなくなったら落ちるのかと勝手に思ってたけどそうでもない。ウーンとなっててドキュメント見たら普通に書いてありました。 USR2を送った時の動き

                • h2o と server_starter で graceful restart with Docker - blog.nomadscafe.jp

                  h2o はserver_starter経由のgraceful restartをサポートしているので試してみた。ついでにdockerで動かしてみた。 h2o/h2o 実際にwrkでベンチマークしながらコンテナにHUPシグナルを送り、graceful restartを行ってみたのが次の動画 左上がh2oをdocker経由で起動しているウィンドウ、HUPを受けてh2oのプロセスを入れ替えている様子がわかります。。左下はwrkの実行、右側はコンテナにHUPを送ってます。 HUPシグナルはdocker killを使って送ります。 $ docker kill --signal="HUP" $(docker ps |grep kazeburo/h2o|awk '{print $1}') wrkの結果はこんな感じ。エラーは出ていません vagrant@vagrant-ubuntu-trusty-64:~/

                  • apacheを再起動するときはgracefulを - なんちゃってウェブ系エンジニアの備忘録

                    標題の件、ちょっとメモにしておく。 Apacheの設定変更を行った場合、それを反映するには再起動する必要があるのだが、 私はいつもrestart を使っていた。 # /etc/init.d/httpd restart restartは、クライアントと接続中のhttpdプロセスを停止してしまうため、 クライアントとの通信が強制的に切断してしまう。 瞬時とはいえ、クライアントにご迷惑をお掛けにしてしまう。それを解決するのが「graceful」 # /etc/init.d/httpd graceful gracefulはすべてのクライアントとの通信が終了するまで再起動しません。 Webサーバなどを公開していて、httpdサービスの停止が出来ない場合は かなり効果的といえる。 ただ、SSL証明書の変更やモジュール追加の場合を行った場合、「graceful」だと変更が正しく反映されないというケースも

                      apacheを再起動するときはgracefulを - なんちゃってウェブ系エンジニアの備忘録
                    • Go1.8のGraceful Shutdownとgo-gracedownの対応

                      Go1.8beta1が出た時に、Go1.8で追加される予定のGraceful Shutdownについて書く! とTwitterに書き込んで早1ヶ月。 この前の金曜日にGo1.8rc2がリリースされ、正式リリースも間近になってきて、 さすがに書かねばという気持ちになって来たので、がんばって検証してみます。 公式サポートで増える予定の機能 以前Go言語でGraceful Restartをするときに取りこぼしを少なくするで 紹介したようにshogo82148/go-gracedownというものを書きました。 あれから時は経ち、ついにGo1.8からはGraceful Shudownがbuild-inの機能として提供される予定です。 公式サポートが入ることによって、以下のような機能を使えるようになります。 HTTP/2のGraceful Shutdownができる HTTP/2ではGOAWAYフレーム

                      • HTML5&CSS3入門 with HTML5 パック 第6回 Graceful DegradationとPolyfill | デベロッパーセンター

                        本連載では、Webデザイナーに向けて、HTML5/CSS3でWebデザインや制作手法はどう変わるのかを解説していきます。主なHTML5/CSS3の役割や機能を学んでいただくとともに、サンプル作成を通してコーディング手法を習得していただくことを目的としています。なお、サンプル作成のツールとしてDreamweaver CS5以降を使用しています。CS5をお使いの場合は、拡張機能「HTML5 パック for Dreamweaver CS5」が必要です。CS5にHTML5 パックをインストールするには、Dreamweaver CS5のアップデータ11.0.3を適用する必要があります。CS5.5の場合、これらのHTML5 パックの機能はデフォルトで実装されています。 ※HTML5とCSS3は現在策定中の草案です。本連載は執筆時点の草案の内容にもとづいており、正式に勧告されるまでに変更されることもあり

                        • Slicebox – A fresh 3D image slider with graceful fallback | Codrops

                          Slicebox is a jQuery 3D image slider plugin that makes use of CSS 3D Transforms and provides a graceful fallback for older browsers that don’t support the new properties. With the CSS 3D Transforms we can create some neat effects by transforming elements in three-dimensional space. Slicebox makes use of the 3D transforms properties and allows different kind of effects. The main idea is to create t

                            Slicebox – A fresh 3D image slider with graceful fallback | Codrops
                          • graceful restart できない daemon の再起動時のダウンタイムを HAProxy でリトライして救う - 酒日記 はてな支店

                            とあるネットワーク(Web)サーバがありまして。 graceful restart できない graceful stop はできる 処理中のものは全て処理し終わってから終了する 再起動は数秒で完了する という性質のものを、稼働中に再起動するとダウンタイムがでてしまうのをなんとか誤魔化したかったのです。 最初は nginx から proxy しているところで、繋がらなかったら何秒かおいて何回までリトライ、みたいな設定ができないか探したんですが見つからず、HAProxy を調べたら以下のような設定でできたのでメモ。 frontend absorber mode tcp default_backend upstream bind *:9999 backend upstream mode tcp server localhost localhost:8888 weight 1 retries 10

                              graceful restart できない daemon の再起動時のダウンタイムを HAProxy でリトライして救う - 酒日記 はてな支店
                            • Graceful server restart with Go

                              Go has been designed as a backend language and is mostly used as such. Servers are the most common type of software produced with it. The question I’m going to answer here is: how to cleanly upgrade a running server? Goals: Do not close any of the existing connections: for instance, we don’t want to cut down any running deployment. However we want to be able to upgrade our services whenever we wan

                                Graceful server restart with Go
                              • GitHub - facebookarchive/grace: Graceful restart & zero downtime deploy for Go servers.

                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                  GitHub - facebookarchive/grace: Graceful restart & zero downtime deploy for Go servers.
                                • Apache HTTP Serverのgraceful stop/restartを理解する

                                  こんにちは、去年の8月に入社しましたMSP事業部エンジニアリンググループの鈴木です。 本記事は、Apache HTTP Server(以降「Apache」と略す)のgraceful stop/restart(以降、2つを指す場合「graceful」と略す)について調査・理解したことをまとめたものになります。具体的には以下について調査しました[※1]。 gracefulの概要、通常のstop/restartとの違いおよびユースケース systemd(systemctl)でgracefulを実行する方法 gracefulを実行する3つのコマンドの動作や関係性 gracefulを実行するコマンドの動作確認(ドキュメントの裏取り) 付録:graceful関連のソースコード解析(理解できている範囲のみ) なお、今回は私個人の学びの一環としてgracefulの基本的なことから調査しましたので、内容とし

                                    Apache HTTP Serverのgraceful stop/restartを理解する
                                  • Amazon EKS上でアプリケーションをGraceful Shutdownさせる際に注意すべきポイント | 株式会社ヌーラボ(Nulab inc.)

                                    SRE課で、主にBacklogのSREを担当しているMuziです。 物理サーバやインスタンスで動作していたアプリケーションを、Kubernetesクラスタに移行する際には、いままで暗黙的に存在していた前提に目を向ける必要があります。そのような前提を無視すると、アプリケーションは動作したとしても、可用性が悪化する可能性があるためです。 私たちがBacklogをEC2インスタンスからKubernetesクラスタに移行した際にも、可用性の悪化に繋がる問題に対処する必要が生じました。今回は、そのような問題の一つであるGraceful Shutdownに関する注意点を、私たちの実体験をもとにご紹介します。 なお、以下の内容はAmazon EKSのKubernetesバージョン1.22で確認しました。Amazon EKSに固有の話題も含みますが、Kubernetes全般に共通する部分も多いかと思います

                                      Amazon EKS上でアプリケーションをGraceful Shutdownさせる際に注意すべきポイント | 株式会社ヌーラボ(Nulab inc.)
                                    • Go 1.8 の HTTP Server Graceful Shutdown を試す - Qiita

                                      Go 1.8 で net/http パッケージに Server.Shutdown メソッドが追加されます。 シグネチャはこちら: srv := &http.Server{Addr: ":8080"} // サーバはブロックするので別の goroutine で実行する go func() { if err := srv.ListenAndServe(); err != nil { log.Print(err) } }() // シグナルを待つ sigCh := make(chan os.Signal, 1) signal.Notify(sigCh, syscall.SIGTERM) <-sigCh // シグナルを受け取ったらShutdown ctx, _ := context.WithTimeout(context.Background(), 5*time.Second) if err :

                                        Go 1.8 の HTTP Server Graceful Shutdown を試す - Qiita
                                      • Dockershimを非推奨とした「Kubernetes 1.20」が正式リリース。Graceful node Shutdown機能がアルファ版で登場など

                                        Dockershimを非推奨とした「Kubernetes 1.20」が正式リリース。Graceful node Shutdown機能がアルファ版で登場など オープンソースとして開発されているコンテナオーケストレーションツール「Kubernetes」の最新版「Kubernetes 1.20」正式版がリリースされました。 We just released #Kubernetes 1.20, our third and final release of 2020! This release consists of 42 enhancements: 11 enhancements have graduated to stable, 15 enhancements are moving to beta, and 16 enhancements are entering alpha. https://

                                          Dockershimを非推奨とした「Kubernetes 1.20」が正式リリース。Graceful node Shutdown機能がアルファ版で登場など
                                        • deCSS3 - a bookmarklet for graceful degradation.

                                          Drag this to Bookmarks Bar → deCSS3 Use this bookmarklet to get a whiff of what your site will look like on older browsers that don't support CSS3. It doesn't do everything right now, but if you’d like to help please fork it on Github, we're looking for collaborators with regex-fu. Currently supports: Chrome, Safari

                                          • Graceful DegradationとProgressive Enhancementの実践 | Web標準Blog | ミツエーリンクス

                                            Chris Heilmanによる“Graceful degradation versus progressive enhancement”という記事について、前回は概要とその意義について紹介しました。今回は後半にあるの例をもとに、どのように実践していくのかを考えてみたいと思います。 「印刷する」というリンク オンラインショッピングの決済画面には、印刷して手元に保管したいというニーズがあるからか「印刷する」といったリンクやボタンが設けられています。クリックしたときに印刷用ページが現れるものもありますが、記事では印刷ダイアログが現れる簡単なものを取り上げています。 このようなリンクは、JavaScriptにより実現されています。 <p id="printthis"> <a href="javascript:windowprint()">Print this page</a> </p> しかしな

                                            • [Varnish]gracefulにキャッシュしたい

                                              次の様なケースの Varnish の振る舞いを調べてみた キャッシュされていないコンテンツに同時にアクセスされた時(thundering herd problem) TTL 設定したキャッシュコンテンツが expire した時(grace mode) オリジンサーバが HTTP ステータス 500番台を返してきた時(saint mode) 構成 client – Varnish/3.0.4 – nginx/1.1.19 & php-fpm 通常のキャッシュの振る舞い Varnish を使うとコンテンツがキャッシュされることを確認。 確認方法 現在時刻を返すだけのページ sleep.php を用意。 意図的に処理時間がかかるよう sleep を挟む <?php sleep(5); echo date('Y/m/d H:i:s') . "\n"; ?> 未キャッシュ状態でアクセスすると現在時刻

                                                [Varnish]gracefulにキャッシュしたい
                                              • Express (Node.js) の Graceful shutdown - Qiita

                                                基本的な実装の仕方と、実装した場合 / しなかった場合、で実際にどういう動作をするか〜、について書きます。 Linux, Node.js 12.13.0, での話だけをします。 Graceful shutdown ? Express (Node.js) に限りませんが、Web サーバーを停止する際、クライアントから接続中のリクエスト (リクエスト受付してまだレスポンスしていない接続) はどうなるでしょうか? Graceful shutdown とは一般的に以下の停止を指します。 停止指示後に、新しい接続を受付しない 残った処理中の接続が完了するのを待ってから、プロセスを安全に停止する SIGNALs そもそも Web サーバープロセスはどうやって停止するかというと、 SIGNAL を用いて停止します。 具体的には下表の通り、コマンド等によって SIGNAL を送信できます。 SIGNAL

                                                  Express (Node.js) の Graceful shutdown - Qiita
                                                • Graceful server restart with Go - Appsdeck

                                                  Appsdeck We're a european Docker based PaaS. In the blink of an eye deploy, update and scale your apps and their data in the cloud. Forget about system administration, focus on your app development. Go has been designed as a backend language and is mostly used as such. Servers are the most common type of software produced with it. The question I’m going to answer here is: how to cleanly upgrade a

                                                    Graceful server restart with Go - Appsdeck
                                                  • Node.js cluster.jsによるgraceful restartについて | Trifort Tech blog

                                                    こんにちは。 Trifortの山中です。 社内ではAndroid兼node.js周りの開発を行っています。 まず今回は弊社で運営しているスタートークというアプリで使っている、Node.jsのネットワーク構成等を書きたいと思います。 Star Talk 〜スタートーク〜 弊社で開発しているトークアプリです LINEと違ってニックネームだけで始められます。落としていない方はぜひダウンロードを。 機能面ではよくあるチャットアプリの基本的機能は網羅しており、加えてタスク管理やチャットの全文検索、お気に入りや複数デバイス同時ログイン可能など多彩な独自機能を含んでいます。 しかし、なにより重要なのはアプリの安定性です。 リリース当初はサーバーサイドの担当だったのですが(Android開発者で入ったのに)、現在ではDAUの増加や新機能開発に伴いサーバーサイドの担当者が増え、私はAndroidをメインで

                                                      Node.js cluster.jsによるgraceful restartについて | Trifort Tech blog
                                                    • GoでGraceful Shutdown - Carpe Diem

                                                      概要 以前はGraceful shutdownをするために以下のようなライブラリを使用していました。 github.com しかしながらGo 1.8 からGraceful Shutdown機能が標準で提供されるようになりました。 今回はその導入方法を紹介します。 環境 golang 1.10.3 これまでの問題 例えば以下のような重い処理がHandlerにあるとします。 簡単のためsleepで実装しています。 func hello(w http.ResponseWriter, r *http.Request) { log.Println("heavy process starts") time.Sleep(5 * time.Second) log.Println("done") w.Header().Set("Content-Type", "text/plain") w.Write([]b

                                                        GoでGraceful Shutdown - Carpe Diem
                                                      • 32 Classy & Graceful Black and White Websites | Modny73

                                                        Black and White websites has grace and class. As the age-old saying goes, sometimes less is more. This is definitely true of website designs.  Removing color from the websites means website has to rely more on website’s layout, typography and etc. A lot of people believe that website in black and white is just boring and unappealing. So here i present you with a striking showcase for your inspirat

                                                        • php-fpmはgraceful restartしません(回避策あり) - White Box技術部

                                                          php-fpmはgraceful restart. そう思っていた頃が私にもありました 以下の公式ドキュメントに「緩やかな (graceful) 停止/起動 機能を含む高度なプロセス管理」と記載があるので、 何の疑いもなくservice php-fpm reloadを叩いたらプロセスが落ちました。。 PHP: FastCGI Process Manager (FPM) - Manual reloadもrestartも終了処理は同じ もちろんこれはreloadだからというわけではありません。 reloadもrestartも、実行するkillコマンドにUSR2オプションは付いています。 付いているのですが、これが期待する動作(プロセスの処理が終了したらkill)になりません。 ググるとすぐ出てくるのですが 以下のバグとして上がっていますが、ずっと放置されているようです。 PHP :: Bug

                                                            php-fpmはgraceful restartしません(回避策あり) - White Box技術部
                                                          • graceful restart可能なHAProxyのDockerイメージ - so what

                                                            ふつうに作れそうだったので作ってみた。 以下、関連ファイル。 Dockerfile FROM ubuntu:latest MAINTAINER Genki Sugawara <sgwr_dts@yahoo.co.jp> RUN apt-get update RUN apt-get install -y haproxy ADD haproxy.cfg / ADD supervisor.sh / RUN chmod +x /supervisor.sh CMD ["/supervisor.sh"] supervisor.sh #!/bin/bash RELOAD=0 function set_reload() { RELOAD=1 } trap set_reload USR1 haproxy -f /haproxy.cfg & while true; do if [ $RELOAD -eq 1

                                                              graceful restart可能なHAProxyのDockerイメージ - so what
                                                            • apache再起動にはrestartよりもgracefulを使うべき - 女子WEBエンジニアのTechメモ

                                                              わたし「vhosts変更したので、サーバーの再起動をお願いします。gracefulで大丈夫です」 後輩「gracefulってなんですか?」 このやりとり、わたしも昔やったなあと思いつつ、復習がてらにまとめておきます。 前提としている環境 (おさらい)apacheの起動・停止に使うコマンド apacheの起動 apacheの停止 apacheの再起動のコマンドと違い(restart/condrestart/reload/graceful) restart condrestart reload graceful restartよりもgracefulを使うわけ graceful-stopというものも apacheでエラーになったときはバージョン確認を わからないことメモ 前提としている環境 apache 2.2 / 2.4 CentOS6.x系(Linux OS であればほぼ同じ?) (おさらい

                                                                apache再起動にはrestartよりもgracefulを使うべき - 女子WEBエンジニアのTechメモ
                                                              • 子供のプラグインの設定をgracefulに再読み込みする #fluentd のアウトプットプラグインをリリースしました - id:bash0C7の進捗 過去アーカイブ[〜2019-02-23]

                                                                fluent-plugin-config_reloaderという名前で作ってみまてます。 昨日のエントリーに書いたものから実用的になるように考えを進めてます。 設定ファイルの再読み込みだけに特化した シグナルをやめて、指定したパスにファイルをtouchすると再読み込みを行うようにした コード bash0C7/fluent-plugin-config_reloader · GitHub インストール Gemfileに下記を追記するか、 gem 'fluent-plugin-config_reloader' 直接突っ込むかしてください。 gem install fluent-plugin-config_reloader 設定 type config_reloader config_file child.conf reload_file reload.txt reload_file_watch_

                                                                  子供のプラグインの設定をgracefulに再読み込みする #fluentd のアウトプットプラグインをリリースしました - id:bash0C7の進捗 過去アーカイブ[〜2019-02-23]
                                                                • C++ AdventCalendar 2012 9日目 「Boost.AsioでGraceful Restart」 - にゃははー

                                                                  C++ Advent Calendar 2012 - PARTAKE の9日目です。 今回は Boost.Asio で Graceful Restart してみたいと思います。 ※Unix依存コードなのでWindows環境はわからないです。あしからず。まぁWinで鯖とか... Graceful Restart とは Graceful(ぐれーすふる, 優雅な) Restart とはサーバーアプリケーションなどで稀に実装されることがあるdaemonの再起動方法です。有名所だと Apache httpd なんかは実装しています。停止と再起動 - Apache HTTP サーバ 手順 通常の Restart の場合、 旧プロセスがシグナル等を受け取る 直ちに全てのセッションをぶった切る 旧プロセスが停止 新プロセスが1から立ち上がる という手順を踏みます。その瞬間にどれだけのクライアントが接続しよ

                                                                    C++ AdventCalendar 2012 9日目 「Boost.AsioでGraceful Restart」 - にゃははー
                                                                  • Go 1.8 の Graceful Shutdown の振る舞いを調べてみた - Qiita

                                                                    Go 1.8 から Graceful Shutdown 機能が標準で提供されるようになりました。これまではサードパーティーライブラリを使ってその機能を実装していた方も多いのではないでしょうか。 標準ライブラリにあるのだからサードパーティーライブラリから移行しようと考えている方も多いでしょう。私も少し前に移行を行ったのですが、移行前に使っていたサードパーティーライブラリと振る舞いが違うという話を同僚から聞いたので Go 1.8 の Graceful Shutdown の振る舞いについて調べてみました。 調査に使ったソースコードは以下になります。 https://github.com/t2y/misc/blob/master/go_graceful_shutdown_sample/main.go 基本的な使い方 context を使ってタイムアウト制御できるのが Go らしくて便利です。例えば

                                                                      Go 1.8 の Graceful Shutdown の振る舞いを調べてみた - Qiita
                                                                    • Graceful stopping in Go — Richard Crowley’s blog

                                                                      It’s rude to deploy early and often if deploys interrupt user requests so we build our Go services at Betable to stop gracefully without interrupting anyone.  The idea is to stop listening, presumably so a new process can take over, and let all open connections respond to any in-progress requests before finally stopping service.  Incidentally, we use goagain to restart without even stopping listen

                                                                      • 特定URLへのアクセスを契機としたHTTPサーバのGraceful Shutdown - GeekFactory

                                                                        Goで特定のURLへのアクセス(例:GET /shutdown)を受けたらHTTPサーバを停止するにはどうすればよいか考えてみました。 HTTPサーバを停止する http.Server にはGraceful Shutdownを行う Shutdown メソッドがあります。/shutdown へのリクエストを受けた契機で Server.Shutdown を実行すれば停止できそうです。 func main() { m := http.NewServeMux() s := http.Server{Addr: ":8000", Handler: m} m.HandleFunc("/shutdown", func(w http.ResponseWriter, r *http.Request) { s.Shutdown(context.Background()) }) if err := s.Liste

                                                                          特定URLへのアクセスを契機としたHTTPサーバのGraceful Shutdown - GeekFactory
                                                                        • undertow と graceful shutdown と - tokuhirom's blog

                                                                          undertow を利用する予定は特にないのだが、undertow だと graceful shutdown はどのように実現可能なのだろうか、ということが気になったので調べてみました。 ここでいう graceful shutdown は listen socket を close したうえで、処理をすべて正常に終了し、終了後にプロセスを exit するようなものを指しています。 いくつかハマりどころがあるので注意。 undertow はドキュメントが貧弱 どうも、貧弱ですね。。ソース読めないと厳しい。ソースか javadoc 眺めて探すとかしないと見つからない。利用方法ものってないからテストから探すとかしないといけない。 DeploymentManager.stop() を呼ばないと Servlet#destroy が呼ばれない これは、Java EE になれた人だと常識なんだろうけど、

                                                                          • The Most Graceful Freestyle Swimming by Shinji Takeuchi

                                                                            This video got ranked No.1 worldwide among famous swimmers (on June 11, 2012). Thank you very much for watching the video! Online lessons and free video seminars: https://swimlikeshinji.teachable.com/ Learning materials: https://www.totalimmersionacademy.com/programs/graceful-freestyle-basics-d223e9?categoryId=24 https://www.totalimmersionacademy.com/programs/graceful-freestyle-advanced Facebook:

                                                                              The Most Graceful Freestyle Swimming by Shinji Takeuchi
                                                                            • node.jsを使った停止なしサーバ (Graceful restart in node.js) - Qiita

                                                                              node.jsの最近のバージョンで標準に追加されたclusterモジュールを使用しての停止なしサーバ.メモリの解放を忘れたり,ファイルを開きっぱなしであったりなどのバグから身を守るために,自動的な世代交代をダウンタイム無しで行います. Using the cluster module, which is included in recent Node.js, I implemented a graceful restarting server. It prevents a server from leaking memories or file descriptors by restarting periodically. The restart can be done without disconnecting clients immediately (the interval to w

                                                                                node.jsを使った停止なしサーバ (Graceful restart in node.js) - Qiita
                                                                              • GitHub - lexrus/LTMorphingLabel: [EXPERIMENTAL] Graceful morphing effects for UILabel written in Swift.

                                                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                  GitHub - lexrus/LTMorphingLabel: [EXPERIMENTAL] Graceful morphing effects for UILabel written in Swift.
                                                                                • Graceful DegradationとProgressive Enhancement | Web標準Blog | ミツエーリンクス

                                                                                  以前「OperaがWeb標準のカリキュラムを公開」で取り上げたOpera Web Standards Curriculum。今回は“Graceful degradation versus progressive enhancement”について、すこし触れてみようと思います。 Graceful DegradationとProgressive Enhancementとは? 記事では、それぞれを次のように説明しています。 Graceful Degradation Webサイトで表現したい機能を、特定の水準にあるモダンブラウザーに対して提供します。しかし、低水準の古いブラウザーに対しても、同等ではないもののそつのない、または理にかなったかたちで機能を提供します。 Progressive Enhancement ターゲットとするすべてのブラウザーに対し、最低限伝えるべき機能を実装します。その上で、