🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1384閲覧

Heroku SchedulerでPythonファイルを実行し、ファイルを自動更新させたいが、更新できない

faker

総合スコア51

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/03/03 08:30

編集2021/03/05 05:41

とあるCSVファイルをPythonでダウンロードして、そのCSVファイルの内容を自分のサイトに反映させるWebサイトをFlaskで作成しました。
自分の環境では、そのプログラムを動かすことでCSVファイルがダウンロードされて、ファイルが更新され、Webサイトも更新されます。
しかし、同じコマンドをHeroku Scheduler上で動かすと、ファイルが更新されず、Webサイトも更新されないままです。

Heroku上でpythonファイルを定期実行し、Heroku上のCSVファイルを更新するにはどのようなコマンドをHeroku Schedulerに実行させれば良いですか?
現在Heroku Schedulerに実行させているのは、以下のコマンドになります。

$ python ./app/get_data.py

ここで実行しているget_data.pyは以下のようなプログラムになります。

import urllib.request opener = urllib.request.build_opener() opener.addheaders = [('User-agent', "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0")] urllib.request.install_opener(opener) dataurl = "欲しいデータのURL.csv" urllib.request.urlretrieve(dataurl, "./app/static/csv/mygetdata.csv")

他に必要な情報があれば追記します。よろしくお願いします。

--(2021/3/5 追記)
https://teratail.com/questions/258611 より、どうやら外部ストレージにデータをアップロードする必要があるかも?
Herokuは自動実行させるために使用してAmazon S3にデータをアップロードして、アクセス時にはS3のデータを読むようにすればいいんですかね?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

HerokuとGithubの連携を行い、github上にpushをしたときに自動でHeroku上にデプロイされるようにしてから、GitHub Actionsのscheduleでpythonファイルの定期実行を行ってデータの取得、pushを行うことで解決することができました。

投稿2021/03/08 10:02

faker

総合スコア51

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問