Skip to content

Commit 0d1b331

Browse files
authored
Merge pull request #9 from maykinmedia/feature/caching-zaken
Caching zaken
2 parents 7a89b1d + 03f017f commit 0d1b331

33 files changed

+1079
-166
lines changed

.github/workflows/ci.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727

2828
services:
2929
postgres:
30-
image: postgres:14
30+
image: postgis/postgis:14-3.4
3131
env:
3232
POSTGRES_HOST_AUTH_METHOD: trust
3333
ports:
@@ -45,7 +45,7 @@ jobs:
4545
- name: Set up backend environment
4646
uses: maykinmedia/[email protected]
4747
with:
48-
apt-packages: 'gettext postgresql-client'
48+
apt-packages: 'gettext postgresql-client libgdal-dev gdal-bin'
4949
python-version: '3.12'
5050
optimize-postgres: 'yes'
5151
pg-service: 'postgres'
@@ -111,7 +111,7 @@ jobs:
111111
- name: Set up backend environment
112112
uses: maykinmedia/setup-django-backend@v1
113113
with:
114-
apt-packages: 'gettext postgresql-client'
114+
apt-packages: 'gettext postgresql-client libgdal-dev gdal-bin'
115115
python-version: '3.12'
116116
setup-node: 'no'
117117
working-directory: open-archiefbeheer/backend

.github/workflows/code_quality.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ jobs:
122122

123123
services:
124124
postgres:
125-
image: postgres:14
125+
image: postgis/postgis:14-3.4
126126
env:
127127
POSTGRES_HOST_AUTH_METHOD: trust
128128
ports:
@@ -136,10 +136,10 @@ jobs:
136136
- name: Set up backend environment
137137
uses: maykinmedia/[email protected]
138138
with:
139+
apt-packages: 'gettext postgresql-client libgdal-dev gdal-bin'
139140
python-version: '3.12'
140141
setup-node: 'no'
141142
working-directory: backend
142-
nvmrc-custom-dir: backend
143143
- name: Run makemigrations to check for missing migrations
144144
working-directory: backend
145145
run: |

backend/Dockerfile

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-reco
6262
shared-mime-info \
6363
# lxml deps
6464
# libxslt \
65+
gdal-bin \
6566
&& rm -rf /var/lib/apt/lists/*
6667

6768
WORKDIR /app

backend/bin/celery_worker.sh

+1-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,10 @@ QUEUE=${1:-${CELERY_WORKER_QUEUE:=celery}}
99
WORKER_NAME=${2:-${CELERY_WORKER_NAME:="${QUEUE}"@%n}}
1010

1111
echo "Starting celery worker $WORKER_NAME with queue $QUEUE"
12-
exec celery worker \
13-
--app openarchiefbeheer \
12+
exec celery --workdir src --app openarchiefbeheer.celery worker \
1413
-Q $QUEUE \
1514
-n $WORKER_NAME \
1615
-l $LOGLEVEL \
17-
--workdir src \
1816
-O fair \
1917
-c $CONCURRENCY
2018

backend/requirements/base.in

+4
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,15 @@ djangorestframework
1919
drf-spectacular
2020
djangorestframework-camel-case
2121
django-cors-headers
22+
django-filter
2223

2324
# WSGI servers & monitoring - production oriented
2425
uwsgi
2526
sentry-sdk # error monitoring
2627
elastic-apm # Elastic APM integration
2728

29+
# Queueing
30+
celery
31+
2832
# Additional libraries
2933
zgw-consumers

backend/requirements/base.txt

+37-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#
55
# ./bin/compile_dependencies.sh
66
#
7+
amqp==5.2.0
8+
# via kombu
79
ape-pie==0.1.0
810
# via zgw-consumers
911
asgiref==3.8.1
@@ -16,8 +18,12 @@ attrs==23.2.0
1618
# via
1719
# jsonschema
1820
# referencing
21+
billiard==4.2.0
22+
# via celery
1923
cbor2==5.6.3
2024
# via webauthn
25+
celery==5.4.0
26+
# via -r requirements/base.in
2127
certifi==2024.2.2
2228
# via
2329
# elastic-apm
@@ -27,6 +33,18 @@ cffi==1.16.0
2733
# via cryptography
2834
charset-normalizer==3.3.2
2935
# via requests
36+
click==8.1.7
37+
# via
38+
# celery
39+
# click-didyoumean
40+
# click-plugins
41+
# click-repl
42+
click-didyoumean==0.3.1
43+
# via celery
44+
click-plugins==1.1.1
45+
# via celery
46+
click-repl==0.3.0
47+
# via celery
3048
cryptography==42.0.5
3149
# via
3250
# django-simple-certmanager
@@ -39,6 +57,7 @@ django==4.2.11
3957
# django-appconf
4058
# django-axes
4159
# django-cors-headers
60+
# django-filter
4261
# django-formtools
4362
# django-hijack
4463
# django-otp
@@ -64,6 +83,8 @@ django-axes==6.4.0
6483
# via -r requirements/base.in
6584
django-cors-headers==4.3.1
6685
# via -r requirements/base.in
86+
django-filter==24.2
87+
# via -r requirements/base.in
6788
django-formtools==2.5.1
6889
# via django-two-factor-auth
6990
django-hijack==3.4.5
@@ -114,6 +135,8 @@ jsonschema==4.21.1
114135
# via drf-spectacular
115136
jsonschema-specifications==2023.12.1
116137
# via jsonschema
138+
kombu==5.3.7
139+
# via celery
117140
maykin-2fa==1.0.0
118141
# via -r requirements/base.in
119142
orderedmultidict==1.0.1
@@ -124,6 +147,8 @@ pillow==10.3.0
124147
# via -r requirements/base.in
125148
polib==1.2.0
126149
# via django-rosetta
150+
prompt-toolkit==3.0.43
151+
# via click-repl
127152
psycopg2==2.9.9
128153
# via -r requirements/base.in
129154
pycparser==2.22
@@ -135,7 +160,9 @@ pyopenssl==24.1.0
135160
pypng==0.20220715.0
136161
# via qrcode
137162
python-dateutil==2.9.0.post0
138-
# via django-relativedelta
163+
# via
164+
# celery
165+
# django-relativedelta
139166
python-decouple==3.8
140167
# via -r requirements/base.in
141168
python-dotenv==1.0.1
@@ -172,6 +199,8 @@ typing-extensions==4.11.0
172199
# via
173200
# qrcode
174201
# zgw-consumers
202+
tzdata==2024.1
203+
# via celery
175204
uritemplate==4.1.1
176205
# via drf-spectacular
177206
urllib3==2.2.1
@@ -181,6 +210,13 @@ urllib3==2.2.1
181210
# sentry-sdk
182211
uwsgi==2.0.25.1
183212
# via -r requirements/base.in
213+
vine==5.1.0
214+
# via
215+
# amqp
216+
# celery
217+
# kombu
218+
wcwidth==0.2.13
219+
# via prompt-toolkit
184220
webauthn==2.1.0
185221
# via django-two-factor-auth
186222
wrapt==1.14.1

backend/requirements/ci.txt

+70-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
#
77
alabaster==0.7.16
88
# via sphinx
9+
amqp==5.2.0
10+
# via
11+
# -c requirements/base.txt
12+
# -r requirements/base.txt
13+
# kombu
914
ape-pie==0.1.0
1015
# via
1116
# -c requirements/base.txt
@@ -34,13 +39,22 @@ babel==2.14.0
3439
# via sphinx
3540
beautifulsoup4==4.12.3
3641
# via webtest
42+
billiard==4.2.0
43+
# via
44+
# -c requirements/base.txt
45+
# -r requirements/base.txt
46+
# celery
3747
black==24.4.2
3848
# via -r requirements/test-tools.in
3949
cbor2==5.6.3
4050
# via
4151
# -c requirements/base.txt
4252
# -r requirements/base.txt
4353
# webauthn
54+
celery==5.4.0
55+
# via
56+
# -c requirements/base.txt
57+
# -r requirements/base.txt
4458
certifi==2024.2.2
4559
# via
4660
# -c requirements/base.txt
@@ -59,7 +73,29 @@ charset-normalizer==3.3.2
5973
# -r requirements/base.txt
6074
# requests
6175
click==8.1.7
62-
# via black
76+
# via
77+
# -c requirements/base.txt
78+
# -r requirements/base.txt
79+
# black
80+
# celery
81+
# click-didyoumean
82+
# click-plugins
83+
# click-repl
84+
click-didyoumean==0.3.1
85+
# via
86+
# -c requirements/base.txt
87+
# -r requirements/base.txt
88+
# celery
89+
click-plugins==1.1.1
90+
# via
91+
# -c requirements/base.txt
92+
# -r requirements/base.txt
93+
# celery
94+
click-repl==0.3.0
95+
# via
96+
# -c requirements/base.txt
97+
# -r requirements/base.txt
98+
# celery
6399
coverage==4.5.4
64100
# via -r requirements/test-tools.in
65101
cryptography==42.0.5
@@ -81,6 +117,7 @@ django==4.2.11
81117
# django-appconf
82118
# django-axes
83119
# django-cors-headers
120+
# django-filter
84121
# django-formtools
85122
# django-hijack
86123
# django-jenkins
@@ -116,6 +153,10 @@ django-cors-headers==4.3.1
116153
# via
117154
# -c requirements/base.txt
118155
# -r requirements/base.txt
156+
django-filter==24.2
157+
# via
158+
# -c requirements/base.txt
159+
# -r requirements/base.txt
119160
django-formtools==2.5.1
120161
# via
121162
# -c requirements/base.txt
@@ -253,6 +294,11 @@ jsonschema-specifications==2023.12.1
253294
# -c requirements/base.txt
254295
# -r requirements/base.txt
255296
# jsonschema
297+
kombu==5.3.7
298+
# via
299+
# -c requirements/base.txt
300+
# -r requirements/base.txt
301+
# celery
256302
lxml==5.2.1
257303
# via pyquery
258304
markupsafe==2.1.5
@@ -299,6 +345,11 @@ polib==1.2.0
299345
# -c requirements/base.txt
300346
# -r requirements/base.txt
301347
# django-rosetta
348+
prompt-toolkit==3.0.43
349+
# via
350+
# -c requirements/base.txt
351+
# -r requirements/base.txt
352+
# click-repl
302353
psycopg2==2.9.9
303354
# via
304355
# -c requirements/base.txt
@@ -339,6 +390,7 @@ python-dateutil==2.9.0.post0
339390
# via
340391
# -c requirements/base.txt
341392
# -r requirements/base.txt
393+
# celery
342394
# django-relativedelta
343395
# faker
344396
# freezegun
@@ -439,6 +491,11 @@ typing-extensions==4.11.0
439491
# -r requirements/base.txt
440492
# qrcode
441493
# zgw-consumers
494+
tzdata==2024.1
495+
# via
496+
# -c requirements/base.txt
497+
# -r requirements/base.txt
498+
# celery
442499
uritemplate==4.1.1
443500
# via
444501
# -c requirements/base.txt
@@ -455,8 +512,20 @@ uwsgi==2.0.25.1
455512
# via
456513
# -c requirements/base.txt
457514
# -r requirements/base.txt
515+
vine==5.1.0
516+
# via
517+
# -c requirements/base.txt
518+
# -r requirements/base.txt
519+
# amqp
520+
# celery
521+
# kombu
458522
waitress==3.0.0
459523
# via webtest
524+
wcwidth==0.2.13
525+
# via
526+
# -c requirements/base.txt
527+
# -r requirements/base.txt
528+
# prompt-toolkit
460529
webauthn==2.1.0
461530
# via
462531
# -c requirements/base.txt

0 commit comments

Comments
 (0)