예제 #1
0
def delay_task_generator(scan_task_id, run_at):
    if run_at is None or run_at < datetime.now():
        print 'Time in past'
        return
    task_name = 'delay_%s' % scan_task_id
    task, created = PeriodicTask.objects.get_or_create(
                        name=task_name,
                        args=[int(scan_task_id)],
                        task = 'w3af_webui.tasks.delay_task',
                    )
    delta = run_at - datetime.now()
    interval = IntervalSchedule.from_schedule(schedule(delta))
    interval.save()
    task.interval = interval
    task.enabled = True
    task.save()
예제 #2
0
def get_interval(minutes, hour, day_of_month):
    now = datetime.now()
    time_this_month = datetime(now.year,
                               now.month,
                               day_of_month,
                               hour,
                               minutes,
                               )
    if time_this_month > now:
        delta = time_this_month - now
    else:
        next_time = time_this_month + relativedelta(months=+1)
        delta = next_time - now
    interval = IntervalSchedule.from_schedule(schedule(delta))
    interval.save()
    return interval
예제 #3
0
def delay_task_generator(scan_task_id, run_at):
    if run_at is None or run_at < datetime.now():
        print 'Time in past'
        return
    task_name = 'delay_%s' % scan_task_id
    task, created = PeriodicTask.objects.get_or_create(
        name=task_name,
        args=[int(scan_task_id)],
        task='w3af_webui.tasks.delay_task',
    )
    delta = run_at - datetime.now()
    interval = IntervalSchedule.from_schedule(schedule(delta))
    interval.save()
    task.interval = interval
    task.enabled = True
    task.save()
예제 #4
0
def get_interval(minutes, hour, day_of_month):
    now = datetime.now()
    time_this_month = datetime(
        now.year,
        now.month,
        day_of_month,
        hour,
        minutes,
    )
    if time_this_month > now:
        delta = time_this_month - now
    else:
        next_time = time_this_month + relativedelta(months=+1)
        delta = next_time - now
    interval = IntervalSchedule.from_schedule(schedule(delta))
    interval.save()
    return interval
예제 #5
0
def monthly_task(*args, **kwargs):
    try:
        task_id = args[0]
        task = PeriodicTask.objects.get(task='w3af_webui.tasks.monthly_task',
                                        name=task_id,
                                        )
        now = datetime.now()
        next_time = now + relativedelta(months=+1)
        delta = next_time - now
        interval = IntervalSchedule.from_schedule(schedule(delta))
        interval.save()
        logger.info('set interval %s for celery task %s' % (
                    interval,
                    task.name,
                    ))
        task.interval = interval
        task.save()
        scan_create_start(task_id)
    except Exception, e:
        logger.error("monthly task exception %s" % e)
        raise Exception, e
예제 #6
0
def monthly_task(*args, **kwargs):
    try:
        task_id = args[0]
        task = PeriodicTask.objects.get(
            task='w3af_webui.tasks.monthly_task',
            name=task_id,
        )
        now = datetime.now()
        next_time = now + relativedelta(months=+1)
        delta = next_time - now
        interval = IntervalSchedule.from_schedule(schedule(delta))
        interval.save()
        logger.info('set interval %s for celery task %s' % (
            interval,
            task.name,
        ))
        task.interval = interval
        task.save()
        scan_create_start(task_id)
    except Exception, e:
        logger.error("monthly task exception %s" % e)
        raise Exception, e
예제 #7
0
def addTask(request):

    intervalSchedule = IntervalSchedule.from_schedule(schedule(timedelta(seconds=10)))
    intervalSchedule.save()
    modelData = dict(
        name="dcTestPersist",
        task="technologytrackerapi.tasks.createRecord",
        interval_id=intervalSchedule.pk,
    )
    periodicTask = PeriodicTask(**modelData)
    periodicTask.save()
#    return periodicTask
#    n = periodicTask.name
    me = ModelEntry(periodicTask)
    try:
        me.save()
    except:
      from django.db import connection
      print connection.queries
      raise
#    return me
    return render_to_response('taskView.html')
예제 #8
0
def create_model_interval(schedule, **kwargs):
    return create_model(interval=IntervalSchedule.from_schedule(schedule),
                        **kwargs)
예제 #9
0
def create_model_interval(schedule, **kwargs):
    return create_model(interval=IntervalSchedule.from_schedule(schedule),
                        **kwargs)
예제 #10
0
def create_model_interval(schedule, **kwargs):
    interval = IntervalSchedule.from_schedule(schedule)
    interval.save()
    return create_model(interval=interval, **kwargs)