Skip to content

Instantly share code, notes, and snippets.

@winebarrel
winebarrel / abstract_mysql_adapter.rb.diff
Created November 9, 2013 06:55
MHAのフェイルオーバー時に再接続するための修正
--- /usr/lib/ruby/gems/1.8/gems/activerecord-3.2.15/lib/active_record/connection_adapters/abstract_mysql_adapter.rb.orig 2013-10-31 07:37:55.704402703 +0000
+++ /usr/lib/ruby/gems/1.8/gems/activerecord-3.2.15/lib/active_record/connection_adapters/abstract_mysql_adapter.rb.reconnect 2013-10-31 09:18:52.061099228 +0000
@@ -239,11 +239,16 @@
# Executes the SQL statement in the context of this connection.
def execute(sql, name = nil)
+ begin
if name == :skip_logging
@connection.query(sql)
else
CREATE TABLE games (
author STRING HASH,
game_id NUMBER RANGE,
INDEX game-type-id-index (game_type_id NUMBER) ALL,
GLOBAL INDEX game-title-index (title STRING, version NUMBER) ALL
) read=4 write=4
@winebarrel
winebarrel / kinesis_client.rb
Created December 22, 2013 10:29
Kinesis Client
require 'json'
require 'openssl'
require 'net/http'
require 'net/https'
require 'time'
require 'stringio'
require 'zlib'
module Kinesis
class Client
#!/usr/bin/env ruby
require 'aws-sdk'
require 'base64'
AWS.config(region: 'us-east-1')
client = AWS.kinesis.client
STREAM_NAME = 'hello'
SHARD_ID = 'shardId-000000000000'
# shard_idの取得
<Response><Say language="ja-jp" voice="woman">私こっくりさん。今あなたの後ろにいるよ。</Say></Respon
@winebarrel
winebarrel / cthulhu.old-master.sql
Created January 22, 2014 00:24
MHAによるオンライン切り換え時のクエリログ
140122 0:21:53 7 Connect mha@yog on
7 Query set autocommit=1
7 Query SELECT CONNECTION_ID() AS Value
8 Connect mha@yog on
8 Query set autocommit=1
8 Query SELECT CONNECTION_ID() AS Value
8 Query SET wait_timeout=86400
8 Query SELECT @@global.server_id As Value
8 Query SELECT VERSION() AS Value
8 Query SHOW GLOBAL VARIABLES LIKE 'log_bin'
@winebarrel
winebarrel / gist:9013842
Last active August 29, 2015 13:56
コネクションプーリング無効
$ for i in 1st 2nd 3rd; do echo "### $i ###"; siege -c 16 -t 1m -b -q http://dagon/employee_count; echo '---'; sleep 3; done
### 1st ###
Lifting the server siege... done.
Transactions: 5451 hits
Availability: 100.00 %
Elapsed time: 59.31 secs
Data transferred: 0.08 MB
Response time: 0.17 secs
@winebarrel
winebarrel / gist:9013850
Last active August 29, 2015 13:56
コネクションプーリング有効
$ for i in 1st 2nd 3rd; do echo "### $i ###"; siege -c 16 -t 1m -b -q http://dagon/employee_count; echo '---'; sleep 3; done
### 1st ###
Lifting the server siege... done.
Transactions: 5436 hits
Availability: 100.00 %
Elapsed time: 59.02 secs
Data transferred: 0.08 MB
Response time: 0.17 secs
An h1 header
============
Paragraphs are separated by a blank line.
2nd paragraph. *Italic*, **bold**, `monospace`. Itemized lists
look like:
* this one
* that one
@winebarrel
winebarrel / event_handler.rb
Last active August 29, 2015 13:57
Kumogata+Serf- event_handler.rb
#!/usr/bin/env ruby
require 'fileutils'
require 'tempfile'
require 'socket'
HOSTS_PATH = '/etc/hosts'
EVENTS = %w(member-join member-leave member-failed)
EXCLUDES = %w(127.0.0.1)
def open_hosts