群馬県でPythonを使ったAIやシステムを開発しているファントム

Navigation
群馬県でPythonを使ったAIやシステムを開発しているファントム

群馬県でAIを使った画像解析やシステム開発をしています。介護記録システム「バイタルチェッカー」、見守りAIカメラ 「Casper」を自社開発。 Python / Django / Flask / FastAPI

投稿を検索する


  • 株式会社ファントム コーポレートサイト

カテゴリー



  • AWS 2
  • Django 40
  • Flask 4
  • Information 35
  • Other 10
  • PHP 1
  • Python 71
  • Pythonista 3
  • 未分類 1

タグ


api argparse Beautiful Soup black calender Channels charset ChromeDriver datetime Docker enumerate f-string File Watcher flake8 gettext GitHub glob Google Colaboratory GPU Gunicorn i18n Jupyter Matplotlib Nginx OpenCV pandas Pillow pip Pipenv PostgreSQL psycopg2 PyCharm PyCon pyenv PyTorch random Redis ReportLab requests Selenium slack timedelta Ubuntu uWSGI venv

最新の投稿


Python
PythonでYouTubeの動画をダウンロード
Posted by press on 7th 8月 2022

PythonでYouTubeの動画をダウンロード YouTubeの動画をPythonでダウンロードします。今回使うyt-dlpはyoutube-dlのフォークで、youtube-dlよりもダウンロード速度が高速です。Py […]

Python
Pythonでjpgやpng画像をwebpに一括変換
Posted by press on 7th 8月 2022

Pythonでjpgやpng画像をwebpに一括変換 ウェブサイトで使用される画像に画質を保ったまま軽量化できるWebサイト向けの次世代画像フォーマットのwebpを利用するケースが増えていますが、サイト内で使われている画 […]

Other
Apple silicon Macでmxnetを使えるようになるまで
Posted by press on 26th 7月 2022

Apple silicon Macでmxnetを使えるようになるまで エラーが発生したのでpip install mxnet-mkl/mxnet-cu90mkl --preしたところ以下のエラーが発生 エラーの中に上の内 […]

Other
Gitで別のブランチから特定のファイルorディレクトリをチェックアウト
Posted by press on 5th 7月 2022

Gitで別のブランチから特定のファイルorディレクトリをチェックアウト 複数人での開発や細かくブランチを作って開発していると、別ブランチの一部分だけを今のブランチに取り込みたいということがあります。マージだと取り込みたく […]

Python
サッカーコートの白線を抽出する
Posted by EIGHT on 14th 6月 2022

次のようなサッカーコートの白線の部分を線分としてを抽出したい。 まず考えたのは、緑色か否かで判定して白黒画像にすることだ。白黒画像にすることで、線をより明確に可視化させることができ、その後エッジだけ抽出して線分判定をすれ […]

このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。

© 2022 Fantom, Inc.

Hydra WordPress Theme by EckoThemes.

Published with WordPress.

Related Articles

Filter by Category

  • Python(71)
  • Django(40)
  • Information(35)
  • Other(10)
  • Flask(4)
  • Pythonista(3)
  • AWS(2)
  • 未分類(1)
  • PHP(1)

Filter by Author

  • EIGHT (10)
  • press (136)
Back to Latest Articles
Python

ツイートを位置情報でプロットして時系列に纏めるtapiokaHeatmapの解説

ツイートを位置情報でプロットして時系列に纏めるtapiokaHeatmapの解説 今回はタピオカのツイート数を位置情報でプロットして時系列に纏めるソースコードについて解説する。 ソースコードは下記のgithubにあるので […]

Posted on 26th 10月 2021 by EIGHT

Django

Djangoで502 Bad Gatewayが頻発した時に調べたこと

Djangoで開発中のWebアプリで特定のURLにアクセスした時だけ、502 Bad Gatewayが頻発する様になりました。NginxとuWSGIのログを見たらuWSGIのworkerが死んで復活してを繰り返しているこ […]

Posted on 2nd 7月 2019 by press

Django

Djangoでcould not connect to serverエラーが出たら

DjangoでデータベースにPostgreSQLを使ってる際に以下のエラーが出た時の対処方法です。 サーバーのPostgreSQLのディレクトリに移動します。VERSIONの部分はインストールされているバージョンを入力し […]

Posted on 28th 6月 2019 by press

Django

DjangoとChannelsで簡単なチャットサーバーを構築(3)

前回からの続きです。 チャンネルレイヤーを有効化 チャンネルレイヤーを使用するためにバックエンドにRedisを使用します。Redisを使用するためにDockerを起動します。 以下のコマンドを実行してRedisを起動しま […]

Posted on 26th 6月 2019 by press

Django

DjangoとChannelsで簡単なチャットサーバーを構築(2)

前回からの続きです。 ルームビューを作成 chat > templates > chat > room.htmlを作成します。 ルームビューを表示するためのviewを作成します。 ルームビューへのurl […]

Posted on 25th 6月 2019 by press

Django

DjangoとChannelsで簡単なチャットサーバーを構築(1)

こちらのチュートリアルと同じ内容です。https://channels.readthedocs.io/en/latest/tutorial/index.html 環境 Python 3.7.0Django 2.2.2ch […]

Posted on 22nd 6月 2019 by press

Python

Beautiful Soupでoptionタグのvalueを取得する

Beautiful Soupで以下のようなHTMLのoptionタグのvalueを取得する方法です。 optionタグのvalueの値を取得する方法 soup = soup.find_all('option')optio […]

Posted on 15th 6月 2019 by press

Django

Dockerを使ってDjangoとPostgreSQL環境を構築する方法

Dockerを使ってシンプルなDjangoとPostgreSQLの開発環境を構築する方法です。GitHubリポジトリをクローンして以下のコマンドを入力します。 1. Dockerイメージを作成 2. Djangoプロジェ […]

Posted on 8th 6月 2019 by press

Django

DjangoでダウンロードするCSVの文字コードを設定

以下のような、attachmentをつけて即ダウンロードが始まるシステムで、文字コードをShift-JISにする為にto_csv()の引数にencodingをShift-JISに設定しても、ダウンロードするとUTF-8で […]

Posted on 6th 6月 2019 by press

Django

That port is already in use.が表示された時の対処法

Djangoでrunserverコマンドを使って開発用サーバーを起動した時にError: That port is already in use.が表示された時の対処法です。 Error: That port is al […]

Posted on 22nd 5月 2019 by press

Python

Pillowを使って画像を合成する

Pillowを使って画像を合成する方法です。GitHubリポジトリ 上の2つの画像を合成して、下の画像を生成します。 Pillowのインストール バージョン確認 ディレクトリ構造 画像をリサイズ base_image = […]

Posted on 22nd 5月 2019 by press

Python

Pillowを使って画像をリサイズする

Pillowを使って画像をリサイズする方法です。GitHubリポジトリ Pillowのインストール バージョン確認 ディレクトリ構造 画像をリサイズ files = glob.glob('./images/*')imag […]

Posted on 22nd 5月 2019 by press

Python

Pillowを使って画像をクロッピングする

Pillowを使って画像をクロッピングする方法です。ソースコードはGitHubにあげています。 Pillowのインストール バージョン確認 ディレクトリ構造 画像をクロッピング files = glob.glob('./ […]

Posted on 21st 5月 2019 by press

Django

Djangoで開発をする際に仮想環境を構築する方法

Djangoで開発をする際にvenvを使って仮想環境を構築する方法です。pyenvがインストールされていてバージョンを切り替えできる状態を前提に進めます。 仮想環境について Pythonで開発していると開発環境では最新の […]

Posted on 20th 5月 2019 by press

Python

PythonistaでiPhoneから株価をスクレイピング

Pythonistaには多くのモジュールがプリインストールされていて、スクレイピングに必要なBeautifulSoupも初めから使える様になっています。そこで、今回はiOSアプリのPythonistaを使ってiPhone […]

Posted on 2nd 5月 2019 by press

Django

pandasで読み込んだCSVの値がNaNだったときの対処方法

DjangoのWEBプリケーションでCSVをpandasで読み込んでforで一行ずつループ処理をしたところ、毎回決まったところで決まったエラーが出たのでPyCharmのデバッグ機能を使って原因を調べた内容です。 プログラ […]

Posted on 28th 4月 2019 by press

Python

Pythonでフォルダ内のファイルを別のフォルダにコピー

Pythonであるフォルダ内のファイルを別のフォルダにコピーする方法です。 ディレクトリ構造(ファイルのコピー後) directory = (os.getcwd())現在のディレクトリを取得します。 image_path […]

Posted on 28th 4月 2019 by press

Python

Pythonでディレクトリ内のファイルを取得する

globモジュールを使いディレクトリ内にあるファイルを取得する方法です。 ディレクトリ構造 まずはディレクトリ内のjpgを全て取得します。 directory = (os.getcwd())で現在のディレクトリのパスを取 […]

Posted on 26th 4月 2019 by press

Django

DjangoでDateTimeFieldが今日のデータを取得する方法

Djangoのモデル上でDateTimeField型のデータが今日の日付のデータを取得する方法です。 1つ目00:00:00から23:59:59までの範囲を条件に取得します。 2つ目今日の日付が含まれるものを条件に取得し […]

Posted on 26th 4月 2019 by press

Python

変換できない文字が混ざった文字列をShift-JISに変換する

テキストファイルやCSVファイルに書き出す時に文字コードをShift-JISに指定して書き出すとエラーになる場合があります。よく見るのが、-や を変換した時に出るエラーで\uff0dや\xa0と表示されます。 […]

Posted on 26th 4月 2019 by press

Django

Djangoでカスタムコマンドを作り実行する

DjangoでWEBアプリケーションを開発していてデータベースの集計などをバッチ処理したいときに、カスタムコマンドを作り実行する方法です。 今回はサンプルとしてmycommandアプリケーションを作成するので以下のコマン […]

Posted on 24th 4月 2019 by press

View Latest Posts
Django

Djangoで502 Bad Gatewayが頻発した時に調べたこと


press
Djangoで502 Bad Gatewayが頻発した時に調べたこと
Posted on 2nd 7月 2019 by press
2022年度 インターンシップ 募集開始

Djangoで開発中のWebアプリで特定のURLにアクセスした時だけ、502 Bad Gatewayが頻発する様になりました。NginxとuWSGIのログを見たらuWSGIのworkerが死んで復活してを繰り返していることが判明しました。

uWSGI logs

DAMN ! worker 1 (pid: 25042) died, killed by signal 9 :( trying respawn ...
Respawned uWSGI worker 1 (new pid: 25759)

nginx errors.log(一部抜粋)

upstream prematurely closed connection while reading response header from upstream

データベースの集計結果を表示するURLだったので、最初はQuerySetが原因だと思いQuerySetを書き直してみましたが(ここでNginxとuWSGIのタイムアウト時間を伸ばしたりもしました)、変化はありませんでした。

次にメモリの状況を調べてみたところ、ほぼ空きがなかったのでメモリを解放しましたが、こちらもほとんど変わらず改善されませんでした。

最終的に実行中のプロセスを表示したら、uWSGIが数十件実行中になっているのが分かり、uWSGIを一旦killして再度実行することで502 Bad Gatewayは出なくなりました。

実行中のプロセス表示

ps aux | grep uwsgi

uWSGIをkill

killall -9 uwsgi

原因はプログラムを修正した時にuWSGIをkillせずに実行を繰り返したので、uWSGIが次々と実行されてメモリが圧迫されQuerySetが収まり切らなくなったことでした。

uWSGIをkillした後にfreeでメモリの空き状況を確認したところ十分に空きができていました。


株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    press
    • Nginx
    • uWSGI
    • Share Article:
    • Twitter
    • Facebook
    • Pinterest
    • LinkedIn
    • Reddit
    Show Comments (0)

    Comments

    Cancel Reply

    コメントを投稿するにはログインしてください。

    Related Articles

    Django

    django-import-exportで管理画面からCSVをインポート

    django-import-exportで管理画面からCSVをインポート 情報を登録する際に一件づつ入力せずにCSVからまとめてインポートして登録が行えるので初期情報を登録する時などに便利な方法です。 コードはGitHu […]

    Posted on 10th 3月 2021 by press
    Django

    pandasで読み込んだCSVの値がNaNだったときの対処方法

    DjangoのWEBプリケーションでCSVをpandasで読み込んでforで一行ずつループ処理をしたところ、毎回決まったところで決まったエラーが出たのでPyCharmのデバッグ機能を使って原因を調べた内容です。 プログラ […]

    Posted on 28th 4月 2019 by press

    最新情報をお届けします!

    メーリングリストに登録すると株式会社ファントムの最新情報をお届けします

    お客様のメールアドレスを共有することはありません