Add the node_heartbeat signal

This commit is contained in:
Roberto Rosario
2012-08-03 14:55:03 -04:00
parent 784aff8ded
commit ecd88553e4
3 changed files with 6 additions and 3 deletions

View File

@@ -8,7 +8,7 @@ from navigation.api import bind_links
from project_tools.api import register_tool from project_tools.api import register_tool
from project_setup.api import register_setup from project_setup.api import register_setup
from .tasks import node_heartbeat, house_keeping from .tasks import send_heartbeat, house_keeping
from .links import tool_link, node_list, clustering_config_edit, setup_link from .links import tool_link, node_list, clustering_config_edit, setup_link
from .models import Node, ClusteringConfig from .models import Node, ClusteringConfig
@@ -17,7 +17,7 @@ ClusteringConfig()
def add_clustering_jobs(): def add_clustering_jobs():
clustering_scheduler = LocalScheduler('clustering', _(u'Clustering')) clustering_scheduler = LocalScheduler('clustering', _(u'Clustering'))
try: try:
clustering_scheduler.add_interval_job('node_heartbeat', _(u'Update a node\'s properties.'), node_heartbeat, seconds=ClusteringConfig.get().node_heartbeat_interval) clustering_scheduler.add_interval_job('send_heartbeat', _(u'Update a node\'s properties.'), send_heartbeat, seconds=ClusteringConfig.get().node_heartbeat_interval)
clustering_scheduler.add_interval_job('house_keeping', _(u'Check for unresponsive nodes in the cluster list.'), house_keeping, seconds=ClusteringConfig.get().dead_node_removal_interval) clustering_scheduler.add_interval_job('house_keeping', _(u'Check for unresponsive nodes in the cluster list.'), house_keeping, seconds=ClusteringConfig.get().dead_node_removal_interval)
except DatabaseError: except DatabaseError:
transaction.rollback() transaction.rollback()

View File

@@ -1,3 +1,4 @@
from django.dispatch import Signal from django.dispatch import Signal
node_died = Signal(providing_args=['node']) node_died = Signal(providing_args=['node'])
node_heartbeat = Signal(providing_args=['node'])

View File

@@ -5,6 +5,7 @@ import logging
from lock_manager.decorators import simple_locking from lock_manager.decorators import simple_locking
from .models import Node, ClusteringConfig from .models import Node, ClusteringConfig
from .signals import node_heartbeat
LOCK_EXPIRE = 10 LOCK_EXPIRE = 10
@@ -12,10 +13,11 @@ logger = logging.getLogger(__name__)
@simple_locking('node_heartbeat', 10) @simple_locking('node_heartbeat', 10)
def node_heartbeat(): def send_heartbeat():
logger.debug('starting') logger.debug('starting')
node = Node.objects.myself() node = Node.objects.myself()
node.send_heartbeat() node.send_heartbeat()
node_heartbeat.send(sender=node, node=node)
@simple_locking('house_keeping', 10) @simple_locking('house_keeping', 10)