Example #1
0
'''
Created on Aug 16, 2011

@author: mmornati
'''
from celery.execute import send_task
from webui.django_cron import cronScheduler, Job
import logging

logger = logging.getLogger(__name__)

class UpdateAgentsInfo(Job):
        """
        Cron Job that calls mcollective updating agent information
        """
        
        #run every n seconds
        #86400 = 1 time a day
        run_every = 86400

        def job(self):
            logger.info("Running Job UpdateAgentsInfo")
            result = send_task("webui.agent.tasks.updateagents", ['AgentInfoCron'])    
                
cronScheduler.register(UpdateAgentsInfo)

Example #2
0
        Cron Job that check if there's alert to fire
        """
        
        #run every n seconds
        run_every = 86400

        def job(self):

            logger.info("Running Job %s" % __name__)
            alerts = Alert.objects.all()
            for alert in alerts:
                if alert.enabled:
                    time_delta = datetime.now() - alert.last_run
                    if (time_delta.seconds + 86400*time_delta.days) > alert.run_frequency:
                        logger.debug("Sending Mail for %s" % alert.name)    
                        try:
                            mod = import_module(alert.module)
                            for method in vars(mod):
                                if method.endswith("Alert") and method != "Alert":
                                    klass = getattr(mod, method)
                                    instance = klass()
                                    break
                            if instance:
                                instance.execute()
                        except Exception:
                            logger.error("Error executing alert %s! %s" % (alert.name, sys.exc_info()))
                
                
cronScheduler.register(CheckAlerts)

Example #3
0
'''
Created on Aug 16, 2011

@author: mmornati
'''
from celery.execute import send_task
from webui.django_cron import cronScheduler, Job
import logging

logger = logging.getLogger(__name__)


class UpdateAgentsInfo(Job):
    """
        Cron Job that calls mcollective updating agent information
        """

    #run every n seconds
    #86400 = 1 time a day
    run_every = 86400

    def job(self):
        logger.info("Running Job UpdateAgentsInfo")
        result = send_task("webui.agent.tasks.updateagents", ['AgentInfoCron'])


cronScheduler.register(UpdateAgentsInfo)