- Python 3.13+
- Node.js 18.17+
- PostgreSQL 16.1+
- Docker
- hasura-cli
※ Mac (M4) MacOS 15.3(24D2059)にて確認
-
uv sync
-
source .venv/bin/activate
-
docker compose up
-
環境変数
DATABASE_URL
を設定 -
python scripts/initialize_or_update_db.py
を実行してテーブルを生成 -
python scripts/initialize_master_data.py
を実行して初期データをインポート -
python -m celery -A metaboatrace.crawlers worker --loglevel=info
-
python -m celery -A metaboatrace.crawlers flower
(管理画面) -
python -m celery -A metaboatrace.crawlers beat
(定期実行)
$ psql -h 127.0.0.1 -p 55432 -U postgres -d metaboatrace_development -f 20200501.dump
$ pg_dump -h 127.0.0.1 -p 55432 -U postgres -d metaboatrace_development -n public --data-only --exclude-table='stadiums' --exclude-table='racers' -f 20200501.dump
hasura/config.yaml
を以下のように適当に作成する
version: 3
endpoint: http://localhost:8080
Hasura コンソールで設定変更(テーブルのトラック、リレーション追加、権限設定など)を行った後は、以下を実行
$ make hasura_export_metadata
その後、変更内容を Git にコミット
別の開発環境や本番環境で最新のメタデータを適用する場合は、以下を実行
$ make hasura_apply_metadata
適当にリクエストしてレスポンスを得られたらOK
$ curl -X POST \
http://localhost:8080/v1/graphql \
-H 'Content-Type: application/json' \
-d '{
"query": "query { events { stadium_tel_code title starts_on } }"
}' | jq
psycopg2-binary
を代用可能
Celery で +[NSCharacterSet initialize] may have been in progress in another thread when fork() was called.
のようなエラーが出る
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
のように環境変数を設定してからワーカーや beat を起動する
rm celerybeat-schedule.db
を実行して再起動する