feat: Add basic celery config
This commit is contained in:
parent
ab2b91735e
commit
39893c2185
17
README.md
17
README.md
@ -106,3 +106,20 @@ Use a program like `gtranslator` or `poedit` to start translations
|
|||||||
| Edit adoption notice | User that created, Moderator, Admin |
|
| Edit adoption notice | User that created, Moderator, Admin |
|
||||||
| Edit animal | User that created, Moderator, Admin |
|
| Edit animal | User that created, Moderator, Admin |
|
||||||
| Add animal/photo to adoption notice | User that created, Moderator, Admin |
|
| Add animal/photo to adoption notice | User that created, Moderator, Admin |
|
||||||
|
|
||||||
|
# Celery and KeyDB
|
||||||
|
|
||||||
|
Start KeyDB docker container
|
||||||
|
```zsh
|
||||||
|
docker run -d --name keydb -p 6379:6379 eqalpha/keydb
|
||||||
|
```
|
||||||
|
|
||||||
|
Start worker
|
||||||
|
```zsh
|
||||||
|
celery -A notfellchen.celery worker
|
||||||
|
```
|
||||||
|
|
||||||
|
Start beat
|
||||||
|
```zsh
|
||||||
|
celery -A notfellchen.celery beat
|
||||||
|
```
|
||||||
|
@ -38,7 +38,8 @@ dependencies = [
|
|||||||
"psycopg2-binary",
|
"psycopg2-binary",
|
||||||
"django-crispy-forms",
|
"django-crispy-forms",
|
||||||
"crispy-bootstrap4",
|
"crispy-bootstrap4",
|
||||||
"djangorestframework"
|
"djangorestframework",
|
||||||
|
"celery[redis]"
|
||||||
]
|
]
|
||||||
dynamic = ["version", "readme"]
|
dynamic = ["version", "readme"]
|
||||||
|
|
||||||
|
6
src/fellchensammlung/tasks.py
Normal file
6
src/fellchensammlung/tasks.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
from notfellchen.celery import app as celery_app
|
||||||
|
from .tools.admin import clean_locations
|
||||||
|
|
||||||
|
@celery_app.task(name="admin.clean_locations")
|
||||||
|
def task_clean_locations():
|
||||||
|
clean_locations()
|
@ -7,7 +7,7 @@ def clean_locations(quiet=True):
|
|||||||
num_without_location = adoption_notices_without_location.count()
|
num_without_location = adoption_notices_without_location.count()
|
||||||
if not quiet:
|
if not quiet:
|
||||||
print(f"From {num_of_all} there are {num_without_location} adoption notices without location "
|
print(f"From {num_of_all} there are {num_without_location} adoption notices without location "
|
||||||
f"({num_without_location/num_of_all*100:.2f}%)")
|
f"({num_without_location / num_of_all * 100:.2f}%)")
|
||||||
for adoption_notice in adoption_notices_without_location:
|
for adoption_notice in adoption_notices_without_location:
|
||||||
if not quiet:
|
if not quiet:
|
||||||
print(f"Searching {adoption_notice.location_string} in Nominatim")
|
print(f"Searching {adoption_notice.location_string} in Nominatim")
|
||||||
@ -28,7 +28,7 @@ def clean_locations(quiet=True):
|
|||||||
num_without_location = rescue_orgs_without_location.count()
|
num_without_location = rescue_orgs_without_location.count()
|
||||||
if not quiet:
|
if not quiet:
|
||||||
print(f"From {num_of_all} there are {num_without_location} adoption notices without location "
|
print(f"From {num_of_all} there are {num_without_location} adoption notices without location "
|
||||||
f"({num_without_location/num_of_all*100:.2f}%)")
|
f"({num_without_location / num_of_all * 100:.2f}%)")
|
||||||
for rescue_org in rescue_orgs_without_location:
|
for rescue_org in rescue_orgs_without_location:
|
||||||
if not quiet:
|
if not quiet:
|
||||||
print(f"Searching {rescue_org.location_string} in Nominatim")
|
print(f"Searching {rescue_org.location_string} in Nominatim")
|
||||||
@ -41,4 +41,4 @@ def clean_locations(quiet=True):
|
|||||||
num_without_location_new = rescue_orgs_without_location_new.count()
|
num_without_location_new = rescue_orgs_without_location_new.count()
|
||||||
num_new = num_without_location - num_without_location_new
|
num_new = num_without_location - num_without_location_new
|
||||||
if not quiet:
|
if not quiet:
|
||||||
print(f"Added {num_new} new locations")
|
print(f"Added {num_new} new locations")
|
||||||
|
@ -14,6 +14,7 @@ from pathlib import Path
|
|||||||
import os
|
import os
|
||||||
import configparser
|
import configparser
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from celery import Celery
|
||||||
|
|
||||||
"""CONFIG PARSER """
|
"""CONFIG PARSER """
|
||||||
config = configparser.RawConfigParser()
|
config = configparser.RawConfigParser()
|
||||||
@ -79,6 +80,11 @@ DB_HOST = config.get("database", "host", fallback='')
|
|||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
|
LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
|
||||||
|
|
||||||
|
""" CELERY + KEYDB """
|
||||||
|
CELERY_BROKER_URL = config.get("celery", "broker", fallback="redis://localhost:6379/0")
|
||||||
|
CELERY_RESULT_BACKEND = config.get("celery", "backend", fallback="redis://localhost:6379/0")
|
||||||
|
|
||||||
|
|
||||||
""" GEOCODING """
|
""" GEOCODING """
|
||||||
GEOCODING_API_URL = config.get("geocoding", "api_url", fallback="https://nominatim.hyteck.de/search")
|
GEOCODING_API_URL = config.get("geocoding", "api_url", fallback="https://nominatim.hyteck.de/search")
|
||||||
""" Tile Server """
|
""" Tile Server """
|
||||||
|
Loading…
Reference in New Issue
Block a user