LoginSignup
47
49

More than 5 years have passed since last update.

python システム停止時に電話で自動通知する方法

Last updated at Posted at 2015-03-30

背景

個人PJでサーバ運用中。致命的なエラー起きたときに、すぐ復旧したい。
通知方法どうしよう

よくある解決手段

Djangoならエラーメール通知がある。

よくある解決手段の問題点

gmailならSPAM扱いで迷惑メールに突っ込まれる。
キャリアメールでも同じ。SPAM扱いされる。
SPAM扱いされないよう、サーバのメール設定を行うのはとても面倒だ。

Twilio使ってみた

アメリカの会社で、日本ではKDDIが代理店になっている
API経由で電話を掛けるサービス。日本公式ページ Twilio

電話代破産やパケ死しないか

料金プランがSMS発信や着信、発信を中心としており
コールして着信を残すという形態を想定していない作りになっている。
ある程度なら無料で使える。発信して着信履歴残すのみなら無料分で運用できそう。

課金する場合は月189円になる模様。高い。無料分のみで使うのが安定。
スクリーンショット 2015-03-30 23.00.43.png

アカウント登録

アカウント登録して次の3点セットを発行する
・発信用電話番号
・ACCOUNT_SID
・AUTH_TOKEN

インストール

shell
pip install twilio

電話掛ける

from twilio.rest import TwilioRestClient
ACCOUNT_SID = "ABCDEFG"
AUTH_TOKEN = "0x0x0x0x0x0x"
FROM_CALL_NUMBER = "8109012345678"
TO_CALL_NUMBER = "8109011223344"

client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
call = client.calls.create(to=TO_CALL_NUMBER, from_=FROM_CALL_NUMBER,
                           url="http://foo.com/call.xml")
print call.length
print call.sid

電話きた

API叩いてから15秒くらいで着信
スクリーンショット 2015-03-30 23.17.23.png

47
49
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
47
49