【デプロイ】PythonをHerokuにアップロード・定期実行する方法

Other
Other

HerokuにPythonをデプロイしたい

定期実行はできる?

このような方向け。

本記事では、HerokuにPythonをアップ・デプロイする方法と、そのアプリを定期実行する方法を紹介していきます。

それでは早速みていきましょう〜。

 

Herokuのアカウントを作る

Herokuのホームページにアクセスし、アカウントを作成してください。

Heroku | 新規登録
無料で Heroku の開発者アカウントを新規登録して、Heroku でアプリ作成を始める。

 

環境構築

*今回はMacで説明していきます。

まず、terminalを開き、以下を入力していきましょう。

ディレクトリの移動
$ cd Desktop //デスクトップに移動
$ mkdir TestProject //TestProjectという名前のファイルを作成
$ cd TestProject //TestProjectに移動
Herokuのインストール
$ brew tap heroku/brew && brew install heroku
Herokuにログイン
$ heroku login

「heroku: Press any key to open up the browser to login or q to exit:」と表示されたら、「q」以外のキーを押してください。

ログインページが表示されるので、先ほど作成したアカウントでログインしてください。

Herokuアプリを作成

このコマンドでHerokuアプリを作成してください。

$ heroku create 好きな名前(例:testproject)

以下を入力してください。

$ git init
$ heroku git:remote -a 上で入力した名前(testproject)
$ pip install bottle //bottleをインストール

 

pythonを書く

Pythonのファイルを作りましょう(例:index.py)

import os
from bottle import route, run

@route("/")
def hello():
  # ここに記述を書く
  return "完了"

run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))

Herokuにデプロイする場合は上記のコードが必要なので、忘れずに書きましょう。

 

Herokuにデプロイ

Terminalに戻り以下を記述してください。

$ pip freeze > requirements.txt //使っているライブラリを記述
$ echo web: python index.py > Procfile //Procfileにどのような処理をするか記述
デプロイ
$ git add . 
$ git commit -m "first" 
$ git push heroku master

何かコードを変更した時は上記のコードを再度入力することで、デプロイできます。

ライブラリを追加した時は上のコード「pip freeze …」の実行を忘れないようにしましょう。

動作確認

Terminalに表示されたURL(https://アプリ名.herokuapp.com/)を開くと、画面上に「完了」と表示されたかと思います。

 

定期実行する

定期実行する方法は2つあります。

  • Herokuを使う ←クレジットカードの入力が必要
  • Cron-job.orgを使う ←無料でOK

今回はCron-job.orgを使う方法で紹介します。

アカウントを作る

以下からアカウントを作成してください。

スケジュールを作成する

ページ上部の「Cronjobs」をクリックします。

右上にある「Create Cronjob」をクリックし、設定をしていきます。

  • Title   :好きな名前
  • Address :デプロイしたHerokuのURL
  • Schedule:実行したい時間(15分に一回など)

設定が終わったら「Create Cronjob」をクリックして保存したら、完了です!

 

まとめ

以上、PythonをHerokuにデプロイして定期実行する方法でした。

cron-job.orgは便利ですが、エラーが続くと定期実行が停止してしまうので気をつけてください。

【社長・人事の方向け】録画面接(動画面接)

新しい面接の形で、本当におすすめです。ぜひ!

【人事向け】録画面接とは?導入方法や料金を紹介
録画面接とは何か知りたい方向け。今回は「録画面接とは?」「録画面接をどのように導入したら良いのか」などを紹介していこうと思います。また録画面接サービスの料金や違いについても紹介します。録画面接について興味がある方はぜひご覧ください。

 

それでは、プログラミング頑張っていきましょう〜。

タイトルとURLをコピーしました