簡単なバッチが起動しない

ERROR: Pidfile (/opt/airflow/airflow-worker.pid) already exists.

Posted by めろん on 2024/07/29 10:56

自分的なメモ


AirFlowで簡単なバッチが起動できなくなったので何がおかしいのか調べていたら次のエラーが発生して
再起動を切り返してました。

<pre class="notranslate" style="font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace); font-size: 11.9px; margin-bottom: var(--base-size-16); overflow-wrap: normal; padding: var(--base-size-16); line-height: 1.45; color: rgb(31, 35, 40); background-color: var(--bgColor-muted, var(--color-canvas-subtle)); border-radius: 6px;"><code class="notranslate" style="font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace); font-size: 11.9px; padding: 0px; margin: 0px; background: transparent; border-radius: 6px; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;">ERROR: Pidfile (/opt/airflow/airflow-worker.pid) already exists.
</code></pre><div><code class="notranslate" style="font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace); font-size: 11.9px; padding: 0px; margin: 0px; background: transparent; border-radius: 6px; border: 0px; display: inline; overflow: visible; line-height: inherit; overflow-wrap: normal;"><br></code></div>

本体で問題が発生しているみたいですが、物凄くシンプルなバッチだったので変だなと思ったのです。

だって単純にprint文でhello, world的なものだすだけだったので。

私の環境はAirFlow標準のDockerで構築しているのですが、変に弄ってるわけでもありません。

とりあえずstopしてupをしても治らず。
ゴミファイルができる原因が一寸分からなかったので、テスト環境だってこともあり私の場合は
dockerファイルをbuildし直して解決しましたが海外のサイトみると同じような事象で苦しんでる方がいて

Dockerファイルに以下を定義する

といいよってのを見つけました。

<div>airflow_worker:</div><div>    <<: *airflow-common</div><div>    # ここから</div><div>    tmpfs:</div><div>      - '/opt/airflow/'</div><div>    # eここまでを追加</div><div><br></div>

なぜゴミファイルができたのかわかりませんが、停止と起動を切り返すとそうなるのかもしれません。

因みに私が利用しているのは2.6.3なので、最新でこれが発生するのかは分かりません。