Commit b55ab2d8 by Őry Máté

Merge branch 'feature-cleanup-on-init' into 'master'

Clean up activities in progress on manager init
parents 1e142efb 16a0b9a6
......@@ -19,6 +19,7 @@ from __future__ import absolute_import, unicode_literals
from contextlib import contextmanager
from logging import getLogger
from celery.signals import worker_ready
from django.core.urlresolvers import reverse
from django.db.models import CharField, ForeignKey
from django.utils import timezone
......@@ -179,3 +180,16 @@ class NodeActivity(ActivityModel):
def node_activity(code_suffix, node, task_uuid=None, user=None):
act = NodeActivity.create(code_suffix, node, task_uuid, user)
return activitycontextimpl(act)
@worker_ready.connect()
def cleanup(conf=None, **kwargs):
# TODO check if other manager workers are running
for i in InstanceActivity.objects.filter(finished__isnull=True):
i.finish(False, "Manager is restarted, activity is cleaned up. "
"You can try again now.")
logger.error('Forced finishing stale activity %s', i)
for i in NodeActivity.objects.filter(finished__isnull=True):
i.finish(False, "Manager is restarted, activity is cleaned up. "
"You can try again now.")
logger.error('Forced finishing stale activity %s', i)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment