Kaggleのnotebooks(kernel)においてConnectionErrorエラーでLINEからのメッセージ受信に失敗するときの対処方法

この記事でわかること

  • kernelからLINEへメッセージ送信後、ConnectionErrorエラーで失敗したときの対象方法がわかる
  • kernelとLINE Notifyの連携方法がわかる
  • LINE Notifyと連携させると、何が便利かわかる

 

いきなり結論!ConnectionErrorエラーが出たときの対処方法

Kaggleのnotebooks(kernel)にLINE Notifyを導入して、プログラムの実行状況をLINEを通して通知させようとしました。以下のサイトを参考にコードを実装したが、ConnectionErrorエラーで失敗。

 

Kaggle APIとLINE APIを用いたKernelの新規投稿を通知する仕組みの構築

(通知の仕組みをわかりやすく解説してくれています!)

 

エラーの内容は以下の通り。

ConnectionError: HTTPSConnectionPool(host=’notify-api.LINE.me’, port=443): Max retries exceeded with url: /api/notify (Caused by NewConnectionError(‘: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’,))

 

対処方法は、kernel画面の右下にある「Settings」でInternetの設定を「ON」にすること。

 

ONにしたらkernelの再読み込みが発生するので、LINEに送信を試してみる。

すると、無事にLINEからメッセージを受信できるようになり、プログラムの実行状況を確認できるようになりました!

 

Kaggleのnotebooks(kernel)にLINE Notifyを導入する

ここからは、kernelにLINE Notifyを導入する方法を記載します。

 

LINE Notifyにアクセスしてトークンを取得する

前提条件として、LINEのアカウントを持っていることが条件です。

以下のサイトにアクセスし、LINE Notifyからアクセストークンを取得します。

 

LINE Notify

https://notify-bot.line.me/my/

 

「Generate token」ボタンを押して、tokenを取得します。

 

 

kernelのInternetの設定を「ON」にする

kernelのInternetの設定を「ON」にします。

 

コードを実装する

以下のようなコードを実装します。

実装の際に、LINE Notifyで取得したアクセストークンを使用します。

 

def send_line_notification(message):
    
    #メモリ使用量を取得する
    mem = psutil.virtual_memory() 
    u = mem.used/(1024*1024)

    message = ("○○コンペ(使用メモリ%dM)" % u) +  message  
    line_token = 'あなたのアクセストークンを記載する'  # 終わったら無効化しよう
    endpoint = 'https://notify-api.line.me/api/notify'
    message = "\n{}".format(message)
    payload = {'message': message}
    headers = {'Authorization': 'Bearer {}'.format(line_token)}
    requests.post(endpoint, data=payload, headers=headers)

メッセージに必ず含めるもの

私は、メッセージ通知の際は、以下の情報を常時入れています。

・何のコンペなのか

・現在の使用メモリ(RAM)

カーネルは、メモリ不足で落ちることがよくあるので、使用メモリがあるとどこで落ちたのか目安にできるため便利です。

 

LINE通知があると便利なこと

LINE通知があると以下のケースで便利です

便利なこと

・プログラムが終わったかどうか、kaggleにアクセスして確認する手間がなくなる

・万が一、メモリ不足で停止してしまっても、心の準備ができる(通知が、来ないときは大概メモリ不足で落ちていることがほとんど

・実行にかかる時間が、LINEのログからわかる

 

以上、解決策でした。

\IT未経験者からのサポートあり!転職サービス3選!!/

サービス名
未経験 未経験OK 未経験の転職専用 経験者向け
公開の求人数 ITエンジニア全体で1万件以上
ITエンジニア未経験で600件以上
未公開 5,000件以上
利用対象 全職種 IT特化 IT特化
特徴 ✓誰もが知る転職サービス
✓経歴を登録しておくとオファーが来る
✓企業担当者と条件交渉
✓スキルの身につく企業を紹介
✓IT専門のエージェントが対応
✓転職成功すると年収200万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア
最新情報をチェックしよう!