0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonAdvent Calendar 2024

Day 12

litestarを用いたbackground_taskによるカウンターの実装

Posted at

はじめに

開発のために、TCP通信をするセンサーのモックを作ることになりました。
条件として、

  • tcp通信により任意のデータを任意のタイミングで送れること
  • UIを用意し、接続して送信しているデータを操作できること

とした。

この条件をもとに、最近ハマっているlitestarを用いて、WEBサーバーとして作ってみることにした。

TL;DR

  • githubに公開しています
  • tcpの接続を維持するために接続からはバックグラウンドタスクに移行
  • 以降はインメモリである、redisに通信するデータの情報をおくことで、接続を解除することなく、データの送受信および制御が行えるようになる

動作環境・使用するツールや言語

dockerで動くようにしています

  • OS バージョン
    • Mac book pro 13
  • ツール
    • docker
  • 言語
    • Python 3.11
  • フレームワーク
    • litestar 2.13.0
    • redis 5.2.1

実装内容

作成したアプリの流れ

参考資料

おわりに・まとめ

litestar楽しいです
またいろいろやっていきたいですね
そして記事書くのきつい...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?