Example #1
0
def scheduled():
    '''
    List scheduled jobs.
    '''
    for job in sorted(schedulables(), key=lambda s: s.name):
        for task in PeriodicTask.objects(task=job.name):
            label = job_label(task.task, task.args, task.kwargs)
            echo(
                SCHEDULE_LINE.format(name=white(task.name),
                                     label=label,
                                     schedule=task.schedule_display))
Example #2
0
def scheduled():
    '''
    List scheduled jobs.
    '''
    for job in sorted(schedulables(), key=lambda s: s.name):
        for task in PeriodicTask.objects(task=job.name):
            label = job_label(task.task, task.args, task.kwargs)
            echo(SCHEDULE_LINE.format(
                name=white(task.name.encode('utf8')),
                label=label,
                schedule=task.schedule_display
            ).encode('utf8'))
Example #3
0
def list():
    '''List all availables jobs'''
    for job in schedulables():
        log.info(job.name)
Example #4
0
 def get(self):
     '''List all schedulable jobs'''
     return [job.name for job in schedulables()]
Example #5
0
    'hour': fields.String(description='Cron expression for hour', required=True, default='*'),
    'day_of_week': fields.String(description='Cron expression for day of week', required=True, default='*'),
    'day_of_month': fields.String(description='Cron expression for day of month', required=True, default='*'),
    'month_of_year': fields.String(description='Cron expression for month of year', required=True, default='*'),
})

interval_fields = api.model('Interval', {
    'every': fields.Integer(description='The interval without unit', required=True),
    'period': fields.String(description='The period/interval type', required=True, enum=PERIODS),
})

job_fields = api.model('Job', {
    'id': fields.String(description='The job unique identifier', readonly=True),
    'name': fields.String(description='The job unique name', required=True),
    'description': fields.String(description='The job description'),
    'task': fields.String(description='The task name', required=True, enum=[job.name for job in schedulables()]),
    'crontab': fields.Nested(crontab_fields, allow_null=True),
    'interval': fields.Nested(interval_fields, allow_null=True),
    'args': fields.List(fields.Raw, description='The job execution arguments', default=[]),
    'kwargs': fields.Raw(description='The job execution keyword arguments', default={}),
    'schedule': fields.String(attribute='schedule_display', description='The schedule display', readonly=True),
    'last_run_at': fields.ISODateTime(description='The last job execution date', readonly=True),
    'last_run_id': fields.String(description='The last execution task id', readonly=True),
    'enabled': fields.Boolean(description='Is this job enabled', default=False),
})

task_fields = api.model('Task', {
    'id': fields.String(description='Tha task execution ID', readonly=True),
    'status': fields.String(description='Cron expression for hour', readonly=True, enum=list(states.ALL_STATES)),
    'result': fields.String(description='The task results if exists'),
    'exc': fields.String(description='The exception thrown during execution'),
Example #6
0
interval_fields = api.model('Interval', {
    'every': fields.Integer(
        description='The interval without unit', required=True),
    'period': fields.String(
        description='The period/interval type', required=True, enum=PERIODS),
})

job_fields = api.model('Job', {
    'id': fields.String(
        description='The job unique identifier', readonly=True),
    'name': fields.String(description='The job unique name', required=True),
    'description': fields.String(description='The job description'),
    'task': fields.String(
        description='The task name', required=True,
        enum=[job.name for job in schedulables()]),
    'crontab': fields.Nested(crontab_fields, allow_null=True),
    'interval': fields.Nested(interval_fields, allow_null=True),
    'args': fields.List(
        fields.Raw, description='The job execution arguments', default=[]),
    'kwargs': fields.Raw(
        description='The job execution keyword arguments', default={}),
    'schedule': fields.String(
        attribute='schedule_display',
        description='The schedule display', readonly=True),
    'last_run_at': fields.ISODateTime(
        description='The last job execution date', readonly=True),
    'last_run_id': fields.String(
        description='The last execution task id', readonly=True),
    'enabled': fields.Boolean(
        description='Is this job enabled', default=False),
Example #7
0
def list():
    '''List all availables jobs'''
    for job in sorted([s.name for s in schedulables()]):
        echo(job)
Example #8
0
def list():
    '''List all availables jobs'''
    for job in sorted([s.name for s in schedulables()]):
        echo(job)
Example #9
0
def list():
    '''List all availables jobs'''
    for job in schedulables():
        log.info(job.name)
Example #10
0
def list():
    '''List all availables jobs'''
    for job in sorted(schedulables()):
        echo(job.name)