bugbakery / transcribee

open source audio and video transcription software
https://transcribee.net
GNU Affero General Public License v3.0
204 stars 13 forks source link

PostgreSQL error? #427

Open shenzo1 opened 6 months ago

shenzo1 commented 6 months ago

Great project! I have trying to debug this error but I am a bit over my head. Seems that there is an issue with postgresql. Would you have any pointers?

System: Macbook Pro M1 OS: Ventura 13.2 Install types: Nix, Docker Error:

CleanShot 2023-12-29 at 12 06 42@2x

transcribee % docker run -it -p 5173:5173 transcribee:latest
system | Tmux socket name: overmind-packaging-BdSLmHHcgziSY4alAQrhK system | Tmux session ID: packaging system | Listening at ./.overmind.sock db | Started with pid 75... worker | Started with pid 66... backend | Started with pid 64... db | initdb: error: cannot be run as root db | Please log in (using, e.g., "su") as the (unprivileged) user that will db | own the server process. backend | + echo -e '\033[1m# setting up backend:\033[0m\n' backend | # setting up backend: backend | db | mkdir: cannot create directory '../backend/db/sockets': No such file or directory backend | + pdm run -p ../backend/ migrate frontend | Started with pid 71... db | pg_ctl: cannot be run as root db | Please log in (using, e.g., "su") as the (unprivileged) user that will db | own the server process. db | createdb: error: connection to server on socket "/app/packaging/../backend/db/sockets//.s.PGSQL.5432" failed: No such file or directory db | Is the server running locally and accepting connections on that socket? frontend | frontend | > transcribee-frontend@0.1.0 dev /app/frontend frontend | > vite "--clearScreen" "false" frontend | worker | INFO:root:Reload enabled frontend | [plugin:favicon-plugin] context method emitFile() is not supported in serve mode. This plugin is likely not vite-compatible. frontend | [plugin:favicon-plugin] context method emitFile() is not supported in serve mode. This plugin is likely not vite-compatible. frontend | [plugin:favicon-plugin] context method emitFile() is not supported in serve mode. This plugin is likely not vite-compatible. frontend | [plugin:favicon-plugin] context method emitFile() is not supported in serve mode. This plugin is likely not vite-compatible. frontend | [plugin:favicon-plugin] context method emitFile() is not supported in serve mode. This plugin is likely not vite-compatible. frontend | frontend | VITE v4.5.0 ready in 436 ms frontend | frontend | ➜ Local: http://localhost:5173/ frontend | ➜ Network: http://172.17.0.2:5173/ frontend | ➜ press h to show help worker | INFO:watchfiles.main:120 changes detected worker | INFO:root:Source code change detected, reloading worker backend | Traceback (most recent call last): backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3361, in _wrap_pool_connect backend | return fn() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 320, in connect backend | return _ConnectionFairy._checkout(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 884, in _checkout backend | fairy = _ConnectionRecord.checkout(pool) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 486, in checkout backend | rec = pool._do_get() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 256, in _do_get backend | return self._create_connection() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 266, in _create_connection backend | return _ConnectionRecord(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 381, in init backend | self.connect() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 677, in connect backend | with util.safereraise(): backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in exit backend | compat.raise( backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 208, in raise_ backend | raise exception backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 673, in connect backend | self.dbapi_connection = connection = pool._invoke_creator(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 578, in connect backend | return dialect.connect(*cargs, *cparams) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 598, in connect backend | return self.dbapi.connect(cargs, cparams) backend | File "/app/backend/.venv/lib/python3.10/site-packages/psycopg2/init.py", line 122, in connect backend | conn = _connect(dsn, connection_factory=connection_factory, kwasync) backend | psycopg2.OperationalError: connection to server on socket "/app/backend/db/sockets/.s.PGSQL.5432" failed: No such file or directory backend | Is the server running locally and accepting connections on that socket? backend | backend | backend | The above exception was the direct cause of the following exception: backend | backend | Traceback (most recent call last): backend | File "/app/backend/.venv/bin/alembic", line 8, in backend | sys.exit(main()) backend | File "/app/backend/.venv/lib/python3.10/site-packages/alembic/config.py", line 630, in main backend | CommandLine(prog=prog).main(argv=argv) backend | File "/app/backend/.venv/lib/python3.10/site-packages/alembic/config.py", line 624, in main backend | self.run_cmd(cfg, options) backend | File "/app/backend/.venv/lib/python3.10/site-packages/alembic/config.py", line 601, in run_cmd backend | fn( backend | File "/app/backend/.venv/lib/python3.10/site-packages/alembic/command.py", line 398, in upgrade backend | script.run_env() backend | File "/app/backend/.venv/lib/python3.10/site-packages/alembic/script/base.py", line 579, in run_env backend | util.load_python_file(self.dir, "env.py") backend | File "/app/backend/.venv/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 93, in load_python_file backend | module = load_module_py(module_id, path) backend | File "/app/backend/.venv/lib/python3.10/site-packages/alembic/util/pyfiles.py", line 109, in load_module_py backend | spec.loader.exec_module(module) # type: ignore backend | File "", line 883, in exec_module backend | File "", line 241, in _call_with_frames_removed backend | File "/app/backend/transcribee_backend/db/migrations/env.py", line 95, in backend | run_migrations_online() backend | File "/app/backend/transcribee_backend/db/migrations/env.py", line 83, in run_migrations_online backend | with connectable.connect() as connection: backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3315, in connect backend | return self._connection_cls(self, close_with_result=close_with_result) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 96, in init backend | else engine.raw_connection() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3394, in raw_connection backend | return self._wrap_pool_connect(self.pool.connect, _connection) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3364, in _wrap_pool_connect backend | Connection._handle_dbapi_exception_noconnection( backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2198, in _handle_dbapi_exceptionnoconnection backend | util.raise( backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 208, in raise_ backend | raise exception backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3361, in _wrap_pool_connect backend | return fn() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 320, in connect backend | return _ConnectionFairy._checkout(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 884, in _checkout backend | fairy = _ConnectionRecord.checkout(pool) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 486, in checkout backend | rec = pool._do_get() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 256, in _do_get backend | return self._create_connection() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 266, in _create_connection backend | return _ConnectionRecord(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 381, in init backend | self.connect() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 677, in connect backend | with util.safe_reraise(): backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in exit backend | compat.raise( backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 208, in raise backend | raise exception backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 673, in connect backend | self.dbapi_connection = connection = pool._invoke_creator(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 578, in connect backend | return dialect.connect(*cargs, cparams) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 598, in connect backend | return self.dbapi.connect(cargs, cparams) backend | File "/app/backend/.venv/lib/python3.10/site-packages/psycopg2/init.py", line 122, in connect backend | conn = _connect(dsn, connection_factory=connection_factory, kwasync) backend | sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server on socket "/app/backend/db/sockets/.s.PGSQL.5432" failed: No such file or directory backend | Is the server running locally and accepting connections on that socket? backend | backend | (Background on this error at: https://sqlalche.me/e/14/e3q8) worker | INFO:watchfiles.main:19 changes detected worker | INFO:root:Source code change detected, reloading worker worker | Process Process-2: worker | Traceback (most recent call last): worker | File "/nix/store/lmybmvqcqqli4bg3wwbjdp0a5pfvhpam-python3-3.10.10/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap worker | self.run() worker | File "/nix/store/lmybmvqcqqli4bg3wwbjdp0a5pfvhpam-python3-3.10.10/lib/python3.10/multiprocessing/process.py", line 108, in run worker | self._target(self._args, self._kwargs) worker | File "/app/worker/run.py", line 100, in run_sync worker | asyncio.run(run(args)) worker | File "/nix/store/lmybmvqcqqli4bg3wwbjdp0a5pfvhpam-python3-3.10.10/lib/python3.10/asyncio/runners.py", line 44, in run worker | return loop.run_until_complete(main) worker | File "/nix/store/lmybmvqcqqli4bg3wwbjdp0a5pfvhpam-python3-3.10.10/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete worker | return future.result() worker | File "/app/worker/run.py", line 112, in run worker | from transcribee_worker.worker import Worker # noqa worker | File "/app/worker/transcribee_worker/worker.py", line 27, in worker | from transcribee_worker.identify_speakers import identify_speakers worker | File "/app/worker/transcribee_worker/identify_speakers.py", line 6, in worker | import torch worker | File "/app/worker/.venv/lib/python3.10/site-packages/torch/init.py", line 933, in worker | from ._tensor import Tensor worker | File "/app/worker/.venv/lib/python3.10/site-packages/torch/_tensor.py", line 21, in worker | from torch.overrides import ( worker | File "/app/worker/run.py", line 86, in handle_signal worker | os.kill(p.pid, sig) worker | ProcessLookupError: [Errno 3] No such process backend | INFO: Will watch for changes in these directories: ['/app/backend'] backend | INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) backend | INFO: Started reloader process [198] using WatchFiles backend | INFO: Started server process [203] backend | INFO: Waiting for application startup. backend | INFO: Application startup complete. backend | ERROR:root:Repeating task failed backend | Traceback (most recent call last): backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3361, in _wrap_pool_connect backend | return fn() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 320, in connect backend | return _ConnectionFairy._checkout(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 884, in _checkout backend | fairy = _ConnectionRecord.checkout(pool) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 486, in checkout backend | rec = pool._do_get() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 145, in _do_get backend | with util.safereraise(): backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in exit backend | compat.raise( backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 208, in raise_ backend | raise exception backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 143, in _do_get backend | return self._create_connection() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 266, in _create_connection backend | return _ConnectionRecord(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 381, in init backend | self.connect() backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 677, in connect backend | with util.safereraise(): backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in exit backend | compat.raise( backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 208, in raise_ backend | raise exception backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 673, in __connect backend | self.dbapi_connection = connection = pool._invoke_creator(self) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 578, in connect backend | return dialect.connect(*cargs, *cparams) backend | File "/app/backend/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 598, in connect backend | return self.dbapi.connect(cargs, cparams) backend | File "/app/backend/.venv/lib/python3.10/site-packages/psycopg2/init.py", line 122, in connect backend | conn = _connect(dsn, connection_factory=connection_factory, kwasync) backend | psycopg2.OperationalError: connection to server on socket "/app/backend/db/sockets/.s.PGSQL.5432" failed: No such file or directory backend | Is the server running locally and accepting connections on that socket?

anuejn commented 5 months ago

thank you for reporting this 🎉 . seems like the docker containers we are currently producing are broken :(.

shenzo1 commented 5 months ago

ah...I had the same error trying to install from scratch with Nix etc. Wondering if my environment might be missing something.

JonasGruenwald commented 3 months ago

Hello,

I was also encountering this problem with the docker setup, and I couldn't get a local setup with nix running consistently (it actually started once, but crashed on subsequent attempts with errors about the db socket).

The issue with the docker setup is that here: https://github.com/bugbakery/transcribee/blob/2275c8cf92f8517a8c3fabd5470f8339c4779940/packaging/start_db.sh#L2C1-L16C15

initdb, pg_ctl and createdb are called by the current user, which inside the docker container is always root, and postgres does not allow this.

I tried to adjust the current user through the dockerfile but I'm not familiar at all with Nix and don't feel ready to dive into all this at the moment (couldn't figure out how to get access to useradd from within the nix image to add a user)

However as a workaround it works just fine to run the database from a regular (separate) container instead of the all-in-one setup, which is a bit nicer anyways in my opinion. In case it helps anyone else, here is a simple compose.yml that does this:

version: '3'
services:
  app:
    depends_on:
      - db
    build:
      context: .
      dockerfile: packaging/Dockerfile
    ports:
      - "5173:5173"
    environment:
      - TRANSCRIBEE_BACKEND_DATABASE_URL=postgresql://transcribee:transcribee@db:5432/transcribee
    volumes:
      - storage_data:/app/backend/storage
      - pages_data:/app/backend/data/pages
      - models:/app/worker/transcribee_worker/.data/models

  db:
    image: postgres:14
    environment:
      POSTGRES_USER: transcribee
      POSTGRES_PASSWORD: transcribee
      POSTGRES_DB: transcribee
    volumes:
      - pg_data:/var/lib/postgresql/data

volumes:
  pg_data:
  storage_data:
  pages_data:
  models:

In addition:

Works without problems for a simple local setup.

Tim-Laeufer commented 2 weeks ago

I have made the same adjustments as @JonasGruenwald. thank you for that! Unfortunately, I get the following error(s).

I use an M2 Macbook, macOS 14.5, Docker 4.27.1 (136059)

compose.yml:

version: '3'
services:
  app:
    depends_on:
      - db
    build:
      context: .
      dockerfile: packaging/Dockerfile
    ports:
      - "5173:5173"
    environment:
      - TRANSCRIBEE_BACKEND_DATABASE_URL=postgresql://transcribee:transcribee@db:5432/transcribee
    volumes:
      - storage_data:/app/backend/storage
      - pages_data:/app/backend/data/pages
      - models:/app/worker/transcribee_worker/.data/models

  db:
    image: postgres:14
    environment:
      POSTGRES_USER: transcribee
      POSTGRES_PASSWORD: transcribee
      POSTGRES_DB: transcribee
    volumes:
      - pg_data:/var/lib/postgresql/data

volumes:
  pg_data:
  storage_data:
  pages_data:
  models:

packaging/Procfile:

backend: ./start_backend.sh
worker: pdm run -p ../worker/ start --coordinator http://127.0.0.1:8000 --token dev_worker --reload
frontend: pnpm --prefix ../frontend/ dev --clearScreen false
redis: redis-server --dir "$(realpath ../backend/db)"

packaging/setup_backend.sh:

#!/usr/bin/env bash

set -euxo pipefail

echo -e "\033[1m# setting up backend:\033[0m\n"
pdm run -p ../backend/ migrate
pdm run -p ../backend/ create_user --user test --pass test
pdm run -p ../backend/ create_worker --token dev_worker --name "Development Worker"

Error:


docker compose up
Attaching to app-1, db-1
db-1   | 
db-1   | PostgreSQL Database directory appears to contain a database; Skipping initialization
db-1   | 
db-1   | 2024-06-20 13:12:43.171 UTC [1] LOG:  starting PostgreSQL 14.12 (Debian 14.12-1.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
db-1   | 2024-06-20 13:12:43.171 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
db-1   | 2024-06-20 13:12:43.171 UTC [1] LOG:  listening on IPv6 address "::", port 5432
db-1   | 2024-06-20 13:12:43.173 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db-1   | 2024-06-20 13:12:43.176 UTC [27] LOG:  database system was shut down at 2024-06-20 13:12:40 UTC
db-1   | 2024-06-20 13:12:43.180 UTC [1] LOG:  database system is ready to accept connections
app-1  | system   | Tmux socket name: overmind-packaging-WviQV1Qv7EDUxfbYmChKT
app-1  | system   | Tmux session ID: packaging
app-1  | system   | Listening at ./.overmind.sock
app-1  | redis    | Started with pid 84...
app-1  | db       | Started with pid 80...
app-1  | backend  | Started with pid 69...
app-1  | worker   | Started with pid 71...
app-1  | frontend | Started with pid 76...
app-1  | backend  | + echo -e '\033[1m# setting up backend:\033[0m\n'
app-1  | backend  | # setting up backend:
app-1  | backend  | 
app-1  | backend  | ++ pwd
app-1  | backend  | + wait4x postgresql 'postgres://@/transcribee?host=/app/packaging/../backend/db/sockets/'
app-1  | backend  | 2024-06-20T13:12:49Z INF [PostgreSQL] Checking the  ...
app-1  | backend  | 2024-06-20T13:12:49Z ERR Expectation failed error="failed to establish a connection to the postgresql server, caused by: dial unix /app/backend/db/sockets/.s.PGSQL.5432: connect: no such file or directory" dsn=postgres://@/transcribee?host=/app/packaging/../backend/db/sockets/
app-1  | redis    | 
app-1  | redis    | *** FATAL CONFIG FILE ERROR (Redis 7.2.4) ***
app-1  | redis    | Reading the configuration file, at line 2
app-1  | redis    | >>> 'dir "/app/backend/db"'
app-1  | redis    | No such file or directory
app-1  | db       | initdb: error: cannot be run as root
app-1  | db       | Please log in (using, e.g., "su") as the (unprivileged) user that will
app-1  | db       | own the server process.
app-1  | db       | mkdir: cannot create directory '../backend/db/sockets': No such file or directory
app-1  | db       | pg_ctl: cannot be run as root
app-1  | db       | Please log in (using, e.g., "su") as the (unprivileged) user that will
app-1  | db       | own the server process.
app-1  | db       | createdb: error: connection to server on socket "/app/packaging/../backend/db/sockets//.s.PGSQL.5432" failed: No such file or directory
app-1  | db       |     Is the server running locally and accepting connections on that socket?
app-1  | redis    | Exited
app-1  | backend  | Interrupting...
app-1  | worker   | Interrupting...
app-1  | frontend | Interrupting...
app-1  | db       | Interrupting...
app-1  | backend  | Error: context canceled
app-1  | db       | pg_ctl: cannot be run as root
app-1  | db       | Please log in (using, e.g., "su") as the (unprivileged) user that will
app-1  | db       | own the server process.
app-1  | worker   | Traceback (most recent call last):
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/bin/.pdm-wrapped", line 9, in <module>
app-1  | worker   |     sys.exit(main())
app-1  | worker   |              ^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/core.py", line 295, in main
app-1  | worker   |     return Core().main(args or sys.argv[1:])
app-1  | worker   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/core.py", line 203, in main
app-1  | worker   |     self.handle(project, options)
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/core.py", line 157, in handle
app-1  | worker   |     command.handle(project, options)
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/cli/commands/run.py", line 397, in handle
app-1  | worker   |     exit_code = runner.run(options.script, options.args)
app-1  | worker   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/cli/commands/run.py", line 283, in run
app-1  | worker   |     code = self.run_task(task, args, opts=opts)
app-1  | worker   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/cli/commands/run.py", line 265, in run_task
app-1  | worker   |     return self._run_process(
app-1  | worker   |            ^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/cli/commands/run.py", line 170, in _run_process
app-1  | worker   |     process_env.update(project_env.process_env)
app-1  | worker   |                        ^^^^^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/environments/python.py", line 39, in process_env
app-1  | worker   |     env = super().process_env
app-1  | worker   |           ^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/environments/base.py", line 66, in process_env
app-1  | worker   |     this_path = self.get_paths()["scripts"]
app-1  | worker   |                 ^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/environments/python.py", line 29, in get_paths
app-1  | worker   |     paths = get_sys_config_paths(str(self.interpreter.executable), replace_vars, kind=kind)
app-1  | worker   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/bsg31l4d8qwzpsaigrvs876r4krac3zk-pdm-2.10.3/lib/python3.11/site-packages/pdm/models/in_process/__init__.py", line 38, in get_sys_config_paths
app-1  | worker   |     return json.loads(subprocess.check_output(cmd, env=env))
app-1  | worker   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/qzaa6lxhvlbb9nn2v6ssppmqg4c3pb1p-python3-3.11.8/lib/python3.11/subprocess.py", line 466, in check_output
app-1  | worker   |     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
app-1  | worker   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/qzaa6lxhvlbb9nn2v6ssppmqg4c3pb1p-python3-3.11.8/lib/python3.11/subprocess.py", line 550, in run
app-1  | worker   |     stdout, stderr = process.communicate(input, timeout=timeout)
app-1  | worker   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | worker   |   File "/nix/store/qzaa6lxhvlbb9nn2v6ssppmqg4c3pb1p-python3-3.11.8/lib/python3.11/subprocess.py", line 1196, in communicate
app-1  | worker   |     stdout = self.stdout.read()
app-1  | worker   |              ^^^^^^^^^^^^^^^^^^
app-1  | worker   | KeyboardInterrupt
app-1  | frontend | Exited
app-1  | worker   | Exited
app-1  | db       | Exited
app-1  | backend  | INFO:     Will watch for changes in these directories: ['/app/backend']
app-1  | backend  | INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
app-1  | backend  | INFO:     Started reloader process [130] using WatchFiles
app-1  | backend  | INFO:     Started server process [132]
app-1  | backend  | INFO:     Waiting for application startup.
app-1  | backend  | INFO:     Application startup complete.
db-1   | 2024-06-20 13:12:50.774 UTC [34] ERROR:  relation "usertoken" does not exist at character 113
db-1   | 2024-06-20 13:12:50.774 UTC [34] STATEMENT:  SELECT usertoken.valid_until, usertoken.id, usertoken.user_id, usertoken.token_hash, usertoken.token_salt 
db-1   |    FROM usertoken 
db-1   |    WHERE usertoken.valid_until < '2024-06-20T13:12:50.751435+00:00'::timestamptz
db-1   | 2024-06-20 13:12:50.775 UTC [35] ERROR:  relation "task" does not exist at character 94
db-1   | 2024-06-20 13:12:50.775 UTC [35] STATEMENT:  SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
db-1   |    FROM task GROUP BY task.state, task.task_type
db-1   | 2024-06-20 13:12:50.776 UTC [36] ERROR:  relation "task" does not exist at character 185
db-1   | 2024-06-20 13:12:50.776 UTC [36] STATEMENT:  SELECT task.document_id, task.task_parameters, task.current_attempt_id, task.task_type, task.id, task.state, task.state_changed_at, task.attempt_counter, task.remaining_attempts 
db-1   |    FROM task 
db-1   |    WHERE EXISTS (SELECT 1 
db-1   |    FROM taskattempt 
db-1   |    WHERE task.current_attempt_id = taskattempt.id AND taskattempt.last_keepalive < '2024-06-20T13:11:50.740366+00:00'::timestamptz) FOR UPDATE
app-1  | backend  | ERROR:root:Repeating task failed
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | psycopg2.errors.UndefinedTable: relation "usertoken" does not exist
app-1  | backend  | LINE 2: FROM usertoken 
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | 
app-1  | backend  | The above exception was the direct cause of the following exception:
app-1  | backend  | 
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/periodic_tasks.py", line 16, in run_periodic
app-1  | backend  |     await run_in_threadpool(func)
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
app-1  | backend  |     return await anyio.to_thread.run_sync(func, *args)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync
app-1  | backend  |     return await get_asynclib().run_sync_in_worker_thread(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
app-1  | backend  |     return await future
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run
app-1  | backend  |     result = context.run(func, *args)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/tasks.py", line 76, in remove_expired_tokens
app-1  | backend  |     for user_token in expired_tokens(session):
app-1  | backend  |                       ^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/tasks.py", line 71, in expired_tokens
app-1  | backend  |     return session.exec(statement)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlmodel/orm/session.py", line 60, in exec
app-1  | backend  |     results = super().execute(
app-1  | backend  |               ^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1712, in execute
app-1  | backend  |     result = conn._execute_20(statement, params or {}, execution_options)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
app-1  | backend  |     return meth(self, args_10style, kwargs_10style, execution_options)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 333, in _execute_on_connection
app-1  | backend  |     return connection._execute_clauseelement(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
app-1  | backend  |     ret = self._execute_context(
app-1  | backend  |           ^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
app-1  | backend  |     self._handle_dbapi_exception(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
app-1  | backend  |     util.raise_(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
app-1  | backend  |     raise exception
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "usertoken" does not exist
app-1  | backend  | LINE 2: FROM usertoken 
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | [SQL: SELECT usertoken.valid_until, usertoken.id, usertoken.user_id, usertoken.token_hash, usertoken.token_salt 
app-1  | backend  | FROM usertoken 
app-1  | backend  | WHERE usertoken.valid_until < %(valid_until_1)s]
app-1  | backend  | [parameters: {'valid_until_1': datetime.datetime(2024, 6, 20, 13, 12, 50, 751435, tzinfo=datetime.timezone.utc)}]
app-1  | backend  | (Background on this error at: https://sqlalche.me/e/14/f405)
app-1  | backend  | ERROR:root:Repeating task failed
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | psycopg2.errors.UndefinedTable: relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | 
app-1  | backend  | The above exception was the direct cause of the following exception:
app-1  | backend  | 
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/periodic_tasks.py", line 16, in run_periodic
app-1  | backend  |     await run_in_threadpool(func)
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
app-1  | backend  |     return await anyio.to_thread.run_sync(func, *args)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync
app-1  | backend  |     return await get_asynclib().run_sync_in_worker_thread(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
app-1  | backend  |     return await future
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run
app-1  | backend  |     result = context.run(func, *args)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 126, in refresh_metrics
app-1  | backend  |     metric.refresh(session)
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 37, in refresh
app-1  | backend  |     .all()
app-1  | backend  |      ^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2772, in all
app-1  | backend  |     return self._iter().all()
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2907, in _iter
app-1  | backend  |     result = self.session.execute(
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlmodel/orm/session.py", line 101, in execute
app-1  | backend  |     return super().execute(  # type: ignore
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1712, in execute
app-1  | backend  |     result = conn._execute_20(statement, params or {}, execution_options)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
app-1  | backend  |     return meth(self, args_10style, kwargs_10style, execution_options)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 333, in _execute_on_connection
app-1  | backend  |     return connection._execute_clauseelement(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
app-1  | backend  |     ret = self._execute_context(
app-1  | backend  |           ^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
app-1  | backend  |     self._handle_dbapi_exception(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
app-1  | backend  |     util.raise_(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
app-1  | backend  |     raise exception
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | [SQL: SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
app-1  | backend  | FROM task GROUP BY task.state, task.task_type]
app-1  | backend  | (Background on this error at: https://sqlalche.me/e/14/f405)
app-1  | backend  | ERROR:root:Repeating task failed
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | psycopg2.errors.UndefinedTable: relation "task" does not exist
app-1  | backend  | LINE 2: FROM task 
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | 
app-1  | backend  | The above exception was the direct cause of the following exception:
app-1  | backend  | 
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/periodic_tasks.py", line 16, in run_periodic
app-1  | backend  |     await run_in_threadpool(func)
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
app-1  | backend  |     return await anyio.to_thread.run_sync(func, *args)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync
app-1  | backend  |     return await get_asynclib().run_sync_in_worker_thread(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
app-1  | backend  |     return await future
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run
app-1  | backend  |     result = context.run(func, *args)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/tasks.py", line 61, in timeout_attempts
app-1  | backend  |     for task in timeouted_tasks(session):
app-1  | backend  |                 ^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/tasks.py", line 55, in timeouted_tasks
app-1  | backend  |     return session.exec(statement).all()
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlmodel/orm/session.py", line 60, in exec
app-1  | backend  |     results = super().execute(
app-1  | backend  |               ^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1712, in execute
app-1  | backend  |     result = conn._execute_20(statement, params or {}, execution_options)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
app-1  | backend  |     return meth(self, args_10style, kwargs_10style, execution_options)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 333, in _execute_on_connection
app-1  | backend  |     return connection._execute_clauseelement(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
app-1  | backend  |     ret = self._execute_context(
app-1  | backend  |           ^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
app-1  | backend  |     self._handle_dbapi_exception(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
app-1  | backend  |     util.raise_(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
app-1  | backend  |     raise exception
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "task" does not exist
app-1  | backend  | LINE 2: FROM task 
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | [SQL: SELECT task.document_id, task.task_parameters, task.current_attempt_id, task.task_type, task.id, task.state, task.state_changed_at, task.attempt_counter, task.remaining_attempts 
app-1  | backend  | FROM task 
app-1  | backend  | WHERE EXISTS (SELECT 1 
app-1  | backend  | FROM taskattempt 
app-1  | backend  | WHERE task.current_attempt_id = taskattempt.id AND taskattempt.last_keepalive < %(last_keepalive_1)s) FOR UPDATE]
app-1  | backend  | [parameters: {'last_keepalive_1': datetime.datetime(2024, 6, 20, 13, 11, 50, 740366, tzinfo=datetime.timezone.utc)}]
app-1  | backend  | (Background on this error at: https://sqlalche.me/e/14/f405)
db-1   | 2024-06-20 13:12:51.791 UTC [34] ERROR:  relation "task" does not exist at character 94
db-1   | 2024-06-20 13:12:51.791 UTC [34] STATEMENT:  SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
db-1   |    FROM task GROUP BY task.state, task.task_type
app-1  | backend  | ERROR:root:Repeating task failed
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | psycopg2.errors.UndefinedTable: relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | 
app-1  | backend  | The above exception was the direct cause of the following exception:
app-1  | backend  | 
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/periodic_tasks.py", line 16, in run_periodic
app-1  | backend  |     await run_in_threadpool(func)
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
app-1  | backend  |     return await anyio.to_thread.run_sync(func, *args)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync
app-1  | backend  |     return await get_asynclib().run_sync_in_worker_thread(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
app-1  | backend  |     return await future
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run
app-1  | backend  |     result = context.run(func, *args)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 126, in refresh_metrics
app-1  | backend  |     metric.refresh(session)
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 37, in refresh
app-1  | backend  |     .all()
app-1  | backend  |      ^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2772, in all
app-1  | backend  |     return self._iter().all()
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2907, in _iter
app-1  | backend  |     result = self.session.execute(
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlmodel/orm/session.py", line 101, in execute
app-1  | backend  |     return super().execute(  # type: ignore
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1712, in execute
app-1  | backend  |     result = conn._execute_20(statement, params or {}, execution_options)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
app-1  | backend  |     return meth(self, args_10style, kwargs_10style, execution_options)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 333, in _execute_on_connection
app-1  | backend  |     return connection._execute_clauseelement(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
app-1  | backend  |     ret = self._execute_context(
app-1  | backend  |           ^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
app-1  | backend  |     self._handle_dbapi_exception(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
app-1  | backend  |     util.raise_(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
app-1  | backend  |     raise exception
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | [SQL: SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
app-1  | backend  | FROM task GROUP BY task.state, task.task_type]
app-1  | backend  | (Background on this error at: https://sqlalche.me/e/14/f405)
db-1   | 2024-06-20 13:12:52.805 UTC [35] ERROR:  relation "task" does not exist at character 94
db-1   | 2024-06-20 13:12:52.805 UTC [35] STATEMENT:  SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
db-1   |    FROM task GROUP BY task.state, task.task_type
app-1  | backend  | ERROR:root:Repeating task failed
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | psycopg2.errors.UndefinedTable: relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | 
app-1  | backend  | The above exception was the direct cause of the following exception:
app-1  | backend  | 
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/periodic_tasks.py", line 16, in run_periodic
app-1  | backend  |     await run_in_threadpool(func)
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
app-1  | backend  |     return await anyio.to_thread.run_sync(func, *args)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync
app-1  | backend  |     return await get_asynclib().run_sync_in_worker_thread(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
app-1  | backend  |     return await future
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run
app-1  | backend  |     result = context.run(func, *args)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 126, in refresh_metrics
app-1  | backend  |     metric.refresh(session)
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 37, in refresh
app-1  | backend  |     .all()
app-1  | backend  |      ^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2772, in all
app-1  | backend  |     return self._iter().all()
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2907, in _iter
app-1  | backend  |     result = self.session.execute(
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlmodel/orm/session.py", line 101, in execute
app-1  | backend  |     return super().execute(  # type: ignore
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1712, in execute
app-1  | backend  |     result = conn._execute_20(statement, params or {}, execution_options)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
app-1  | backend  |     return meth(self, args_10style, kwargs_10style, execution_options)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 333, in _execute_on_connection
app-1  | backend  |     return connection._execute_clauseelement(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
app-1  | backend  |     ret = self._execute_context(
app-1  | backend  |           ^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
app-1  | backend  |     self._handle_dbapi_exception(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
app-1  | backend  |     util.raise_(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
app-1  | backend  |     raise exception
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | [SQL: SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
app-1  | backend  | FROM task GROUP BY task.state, task.task_type]
app-1  | backend  | (Background on this error at: https://sqlalche.me/e/14/f405)
db-1   | 2024-06-20 13:12:53.815 UTC [36] ERROR:  relation "task" does not exist at character 94
db-1   | 2024-06-20 13:12:53.815 UTC [36] STATEMENT:  SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
db-1   |    FROM task GROUP BY task.state, task.task_type
app-1  | backend  | ERROR:root:Repeating task failed
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | psycopg2.errors.UndefinedTable: relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | 
app-1  | backend  | The above exception was the direct cause of the following exception:
app-1  | backend  | 
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/periodic_tasks.py", line 16, in run_periodic
app-1  | backend  |     await run_in_threadpool(func)
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
app-1  | backend  |     return await anyio.to_thread.run_sync(func, *args)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync
app-1  | backend  |     return await get_asynclib().run_sync_in_worker_thread(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
app-1  | backend  |     return await future
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run
app-1  | backend  |     result = context.run(func, *args)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 126, in refresh_metrics
app-1  | backend  |     metric.refresh(session)
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 37, in refresh
app-1  | backend  |     .all()
app-1  | backend  |      ^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2772, in all
app-1  | backend  |     return self._iter().all()
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2907, in _iter
app-1  | backend  |     result = self.session.execute(
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlmodel/orm/session.py", line 101, in execute
app-1  | backend  |     return super().execute(  # type: ignore
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1712, in execute
app-1  | backend  |     result = conn._execute_20(statement, params or {}, execution_options)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
app-1  | backend  |     return meth(self, args_10style, kwargs_10style, execution_options)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 333, in _execute_on_connection
app-1  | backend  |     return connection._execute_clauseelement(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
app-1  | backend  |     ret = self._execute_context(
app-1  | backend  |           ^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
app-1  | backend  |     self._handle_dbapi_exception(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
app-1  | backend  |     util.raise_(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
app-1  | backend  |     raise exception
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | [SQL: SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
app-1  | backend  | FROM task GROUP BY task.state, task.task_type]
app-1  | backend  | (Background on this error at: https://sqlalche.me/e/14/f405)
db-1   | 2024-06-20 13:12:54.826 UTC [34] ERROR:  relation "task" does not exist at character 94
db-1   | 2024-06-20 13:12:54.826 UTC [34] STATEMENT:  SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
db-1   |    FROM task GROUP BY task.state, task.task_type
app-1  | backend  | ERROR:root:Repeating task failed
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | psycopg2.errors.UndefinedTable: relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | 
app-1  | backend  | The above exception was the direct cause of the following exception:
app-1  | backend  | 
app-1  | backend  | Traceback (most recent call last):
app-1  | backend  |   File "/app/backend/transcribee_backend/helpers/periodic_tasks.py", line 16, in run_periodic
app-1  | backend  |     await run_in_threadpool(func)
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool
app-1  | backend  |     return await anyio.to_thread.run_sync(func, *args)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync
app-1  | backend  |     return await get_asynclib().run_sync_in_worker_thread(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
app-1  | backend  |     return await future
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run
app-1  | backend  |     result = context.run(func, *args)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 126, in refresh_metrics
app-1  | backend  |     metric.refresh(session)
app-1  | backend  |   File "/app/backend/transcribee_backend/metrics.py", line 37, in refresh
app-1  | backend  |     .all()
app-1  | backend  |      ^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2772, in all
app-1  | backend  |     return self._iter().all()
app-1  | backend  |            ^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2907, in _iter
app-1  | backend  |     result = self.session.execute(
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlmodel/orm/session.py", line 101, in execute
app-1  | backend  |     return super().execute(  # type: ignore
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1712, in execute
app-1  | backend  |     result = conn._execute_20(statement, params or {}, execution_options)
app-1  | backend  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
app-1  | backend  |     return meth(self, args_10style, kwargs_10style, execution_options)
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 333, in _execute_on_connection
app-1  | backend  |     return connection._execute_clauseelement(
app-1  | backend  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
app-1  | backend  |     ret = self._execute_context(
app-1  | backend  |           ^^^^^^^^^^^^^^^^^^^^^^
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
app-1  | backend  |     self._handle_dbapi_exception(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
app-1  | backend  |     util.raise_(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
app-1  | backend  |     raise exception
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
app-1  | backend  |     self.dialect.do_execute(
app-1  | backend  |   File "/app/backend/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
app-1  | backend  |     cursor.execute(statement, parameters)
app-1  | backend  | sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "task" does not exist
app-1  | backend  | LINE 2: FROM task GROUP BY task.state, task.task_type
app-1  | backend  |              ^
app-1  | backend  | 
app-1  | backend  | [SQL: SELECT task.state AS task_state, task.task_type AS task_task_type, count(*) AS count_1 
app-1  | backend  | FROM task GROUP BY task.state, task.task_type]
app-1  | backend  | (Background on this error at: https://sqlalche.me/e/14/f405)
app-1  | backend  | Killing...
app-1  | backend  | Exited
app-1 exited with code 130