kopia lustrzana https://github.com/OpenDroneMap/WebODM
Cleanup partial tasks
rodzic
6b4230f233
commit
9fb0c6db67
|
@ -40,9 +40,9 @@ class TaskAdmin(admin.ModelAdmin):
|
|||
def has_add_permission(self, request):
|
||||
return False
|
||||
|
||||
list_display = ('id', 'project', 'processing_node', 'created_at', 'status', 'last_error')
|
||||
list_display = ('id', 'name', 'project', 'processing_node', 'created_at', 'status', 'last_error')
|
||||
list_filter = ('status', 'project',)
|
||||
search_fields = ('id', 'project__name')
|
||||
search_fields = ('id', 'name', 'project__name')
|
||||
|
||||
|
||||
admin.site.register(Task, TaskAdmin)
|
||||
|
|
|
@ -411,6 +411,10 @@ QUOTA_EXCEEDED_GRACE_PERIOD = 8
|
|||
# Maximum number of processing nodes to show in "Processing Nodes" menus/dropdowns
|
||||
UI_MAX_PROCESSING_NODES = None
|
||||
|
||||
# Number of hours before partial tasks
|
||||
# are removed (or None to disable)
|
||||
CLEANUP_PARTIAL_TASKS = None
|
||||
|
||||
if TESTING or FLUSHING:
|
||||
CELERY_TASK_ALWAYS_EAGER = True
|
||||
EXTERNAL_AUTH_ENDPOINT = 'http://0.0.0.0:5555/auth'
|
||||
|
|
|
@ -28,6 +28,14 @@ app.conf.beat_schedule = {
|
|||
'retry': False
|
||||
}
|
||||
},
|
||||
'cleanup-tasks': {
|
||||
'task': 'worker.tasks.cleanup_tasks',
|
||||
'schedule': 3600,
|
||||
'options': {
|
||||
'expires': 1799,
|
||||
'retry': False
|
||||
}
|
||||
},
|
||||
'cleanup-tmp-directory': {
|
||||
'task': 'worker.tasks.cleanup_tmp_directory',
|
||||
'schedule': 3600,
|
||||
|
|
|
@ -23,6 +23,8 @@ import worker
|
|||
from .celery import app
|
||||
from app.raster_utils import export_raster as export_raster_sync, extension_for_export_format
|
||||
from app.pointcloud_utils import export_pointcloud as export_pointcloud_sync
|
||||
from django.utils import timezone
|
||||
from datetime import timedelta
|
||||
import redis
|
||||
|
||||
logger = get_task_logger("app.logger")
|
||||
|
@ -67,6 +69,16 @@ def cleanup_projects():
|
|||
if total > 0 and 'app.Project' in count_dict:
|
||||
logger.info("Deleted {} projects".format(count_dict['app.Project']))
|
||||
|
||||
@app.task(ignore_result=True)
|
||||
def cleanup_tasks():
|
||||
# Delete tasks that are older than
|
||||
if settings.CLEANUP_PARTIAL_TASKS is None:
|
||||
return
|
||||
|
||||
tasks_to_delete = Task.objects.filter(partial=True, created_at__lte=timezone.now() - timedelta(hours=settings.CLEANUP_PARTIAL_TASKS))
|
||||
for t in tasks_to_delete:
|
||||
logger.info("Cleaning up partial task {}".format(t))
|
||||
t.delete()
|
||||
|
||||
@app.task(ignore_result=True)
|
||||
def cleanup_tmp_directory():
|
||||
|
|
Ładowanie…
Reference in New Issue