feat: async PDF cache i API media putanje za putne naloge
Uvodi background request tok za generiranje PDF-a s 24h cache-om i cleanup taskom preko Celery beat-a. Dodaje notification metadata download_url za ponovno preuzimanje bez regeneracije, API image endpointe za putne naloge i račune, te frontend integraciju za async download i produkcijski prikaz slika. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
from celery.schedules import crontab
|
||||
from datetime import timedelta
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
||||
@@ -169,6 +170,12 @@ CACHES = {
|
||||
|
||||
CELERY_ACCEPT_CONTENT = ['json']
|
||||
CELERY_TASK_SERIALIZER = 'json'
|
||||
CELERY_BEAT_SCHEDULE = {
|
||||
'cleanup-expired-generated-pdfs-hourly': {
|
||||
'task': 'modules.fleet.tasks.cleanup_expired_generated_pdfs_task',
|
||||
'schedule': crontab(minute=0),
|
||||
},
|
||||
}
|
||||
|
||||
# URL kojim će preglednik dohvaćati statiku
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
@@ -39,4 +39,7 @@ CSRF_TRUSTED_ORIGINS = [
|
||||
STATIC_URL = '/static/'
|
||||
STATIC_ROOT = '/app/staticfiles'
|
||||
MEDIA_URL = '/media/'
|
||||
MEDIA_ROOT = '/app/media'
|
||||
MEDIA_ROOT = '/app/media'
|
||||
|
||||
# Privremeni fallback dok se media ne servira preko reverse proxy-ja.
|
||||
SERVE_MEDIA_FILES = os.environ.get('SERVE_MEDIA_FILES', '1').strip().lower() in ('1', 'true', 'yes', 'on')
|
||||
Reference in New Issue
Block a user