You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Before jumping into Celery. Let's start with the most straightforward tool to help us understand background tasks. FastAPI already has a BackgroundTasks class that can help us implement simple background tasks. Let's create a virtual environment to isolate our project requirements. python -m venv env Now, all we need is FastAPI and a web server e.g. Uvicorn or Hypercorn. Before installing these le
今回やりたいこと API経由でバッチ処理とか重い処理を動かしておいて、UI側で状態を監視したい…なんてことあるよね。今回はそんな時の処理を書いていこうと思います。 APIからバックグラウンドで重い処理を起動したい バックグラウンド処理の状態を取得して画面側で表示したい 処理中でもAPIへのリクエストは止めたくない 今回はとりあえずAPI処理だけに留めようと思います。 APIが出来ちゃえば画面側はご自由にといった感じです。 環境 Python 3.9.2 FastAPI 0.68.1 各処理を書いていく FastAPIにはバックグラウンド処理用にBackground Tasksが用意されています。 公式を見ても分かる通りかなりシンプルに書けます。add_taskにバックグラウンド処理を入れるだけ。後はお任せ。素晴らしい。 #!/usr/bin/env python3 import time
はじめに FastAPIを始めてみたところ、async/await構文があり、Pythonにも「async/await構文があるんだなー」と初めてその存在を知った。 しかし、FastAPIのサンプルコードやネットで公開されているコードを見ると、async defとdefをどのように使い分けているのかよくわからず、結局、「どっちを使えば良いんじゃろう?」という気持ちになったので、async/await、同期 / 非同期(並行処理)を調べつつ、結論を導いてみることにした。 いきなり結論 Path operation 関数の場合、async defではなくdefで、基本、実装する。 defだけでも、外部スレッドプールで非同期処理されるようにフレームワークとして実装されているとのこと async defを使った方が良いのは以下の2ケース async/awaitをサポートしているライブラリを利用した
はじめに 最近ハイボールにハマっているSREのたっち(@TatchNicolas)です。 昨日オンライン開催されたJAWS DAYS 2020にて、JX通信社もサーバレスをテーマとして発表をしました。(by 植本さん) 発表でもありましたように、上記プロジェクトにおいて開発当時はスピードを優先してプロジェクトメンバーの手に馴染んでいて分担もしやすいフレームワークとしてFlaskを採用しました。 一方で、JX通信社としてはFlaskよりもFastAPIを使うプロジェクトが増えてきており、今後もその傾向は続く見込みです。 そこで、特設ページ作成やAPI提供など初動としての開発が一段落したのを機に、JAWS DAYSで発表した仕組みを今後のために発展させる検証をしたので紹介します。 TL; DR; JAWSでは Serverless Framework+awsgi+Flaskな構成でスピーディに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く