前提
FlaskでSpotifyのAPIを使ったWebアプリを作っています。Render.comにデプロイしたのですが、処理が重すぎて、エラーが出てしまいました。そこで、思い処理をCloud Runに分けようと思っています。
Google Cloudに以下のようなクラスオブジェクトを引数とする関数を置きたいです。
Python
1def make_playlist(spotify): 2 ~~~ 3 return 0
引数は、Oauthで認証したユーザー情報です。
型名
<class 'spotipy.client.Spotify'>
実現したいこと
もし、Cloud Run上に、クラスオブジェクトを引数に渡すことができないのであれば、とにかく重い処理を外部に分ける方法が知りたいです。
できれば、無料で。
よろしくお願いいたします。雑な質問申し訳ありません。
別サービスなら基本的には外部呼び出しになるはずですよね
関数の一部だけを簡単に別サービスに切り分けるということは難しいんじゃないでしょうか
もしくはオンラインで関数化するような仕組みを既にご存知ですか?
なるほど、そうなんですね。
自分のやりたいことのイメージとしては、例えばですが、YouTubeなどで動画をアップロード中でもブラウザのタブが読み込み中にならないような感じの挙動をさせたいと思っています。
現状は、Renderにデプロイしたサイトから、関数を実行するボタンを押すと、処理が終わるまでブラウザのタブが読み込み中になって他の事ができません。それを、ボタンを押したら、「リクエストを受け付けました」みたいな画面に遷移させて、裏で処理をさせたいと思っています。