47
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?