Skip to content

Instantly share code, notes, and snippets.

View ariarijp's full-sized avatar

Takuya Arita ariarijp

View GitHub Profile
@evalphobia
evalphobia / The_Site_Reliability_Workbook.ch06a.md
Last active January 26, 2019 10:33
The Site Reliability Workbook: Chapter 6 (part A)

Chapter.6 トイルの排除 (Eliminating Toil)

  • GoogleのSRE: 最適化に時間を使う
    • コンピューティングリソースだけでなく、時間の使い方も最適化する
    • トイルに時間を使いたくない
    • トイルに関する包括的な話はSRE本の5章参照
    • この章でのトイルの定義:
      • サービス維持に関するもので、繰り返され、予測可能な一連のタスク
  • 本番運用にトイルは避けられない
@katzchang
katzchang / sleep-well.md
Last active September 21, 2021 02:30
処理が成功するまで実行しつづける - @katzchang.gist

処理が成功するまで実行しつづける

インスタンスの起動スクリプトとかを書いてるときによく欲しいと思うやつです。

例えば、 service nginx start が実行されたあとに curl -i localhost | grep "200 OK" とかをすると、サービスがそれなりに動いていることが確認できてよかったりするのですが、あまりにも直後だとサーバの起動が間に合わず、curl が失敗してしまいます。nginxだとまだましだけど、アプリケーションサーバだとそれなりに時間がかかったりする。

古典的な解決方法は、 sleep 30 です。簡単だけど、アプリケーションが巨大になってくると30秒では起動しないこともある。じゃぁ sleep 60 が妥当か?でも、サーバインスタンスの起動スクリプト全体はできるだけ早く立ち上がってほしい。困った。

なので、curlが成功するまで叩き続ける、みたいなスクリプトに仕上げたくなるわけです。

@arikfr
arikfr / README.md
Last active April 16, 2024 07:53
Redash Query Export Tool

Setup

$ pip install click requests

Usage

$ python query_export.py --redash-url "https://app.redash.io/" --api-key ""
@soderlind
soderlind / a_faster_load_textdomain.php
Created October 26, 2015 22:08
A faster load_textdomain for WordPress
<?php
/*
Plugin Name: A faster load_textdomain
Version: 0.0.1
Description: While we're wating for https://core.trac.wordpress.org/ticket/32052.
Author: Per Soderlind
Author URI: https://soderlind.no
Plugin URI: https://gist.github.com/soderlind/610a9b24dbf95a678c3e
License: GPL
@nateklaiber
nateklaiber / design.md
Last active April 24, 2024 18:11
API Client Design
@snaga
snaga / gist:4179435
Created November 30, 2012 23:25
check_pg_settings.sql
--
-- check_pg_settings.sql
--
-- Copyright(C) 2012 Uptime Technologies, LLC. All rights reserved.
--
SELECT name,
setting,
CASE WHEN setting::integer = 4096 THEN 'WARNING: default value (4096=32MB) is too small.'
WHEN setting::integer < 65536 THEN 'WARNING: too small. (<65536=512MB)'
ELSE 'OK.'
@ijt
ijt / http_get.go
Last active August 23, 2021 12:37
Example of using http.Get in go (golang)
package main
import (
"fmt"
"io"
"log"
"net/http"
"os"
)