django_celery_beat.models
¶
Database models.
- class django_celery_beat.models.ClockedSchedule(*args, **kwargs)¶
clocked schedule.
- Parameters:
id (AutoField) – Primary key: ID
clocked_time (DateTimeField) – Clock Time. Run the task at clocked time
Reverse relationships:
- Parameters:
periodictask (Reverse
ForeignKey
fromPeriodicTask
) – All periodic tasks of this clocked (related name ofclocked
)
- exception DoesNotExist¶
- exception MultipleObjectsReturned¶
- class django_celery_beat.models.CrontabSchedule(*args, **kwargs)¶
Timezone Aware Crontab-like schedule.
Example: Run every hour at 0 minutes for days of month 10-15:
>>> minute="0", hour="*", day_of_week="*", ... day_of_month="10-15", month_of_year="*"
- Parameters:
id (AutoField) – Primary key: ID
minute (CharField) – Minute(s). Cron Minutes to Run. Use “*” for “all”. (Example: “0,30”)
hour (CharField) – Hour(s). Cron Hours to Run. Use “*” for “all”. (Example: “8,20”)
day_of_month (CharField) – Day(s) Of The Month. Cron Days Of The Month to Run. Use “*” for “all”. (Example: “1,15”)
month_of_year (CharField) – Month(s) Of The Year. Cron Months (1-12) Of The Year to Run. Use “*” for “all”. (Example: “1,12”)
day_of_week (CharField) – Day(s) Of The Week. Cron Days Of The Week to Run. Use “*” for “all”, Sunday is 0 or 7, Monday is 1. (Example: “0,5”)
timezone (TimeZoneField) – Cron Timezone. Timezone to Run the Cron Schedule on. Default is UTC.
Reverse relationships:
- Parameters:
periodictask (Reverse
ForeignKey
fromPeriodicTask
) – All periodic tasks of this crontab (related name ofcrontab
)
- exception DoesNotExist¶
- exception MultipleObjectsReturned¶
- class django_celery_beat.models.IntervalSchedule(*args, **kwargs)¶
Schedule executing on a regular interval.
Example: execute every 2 days:
>>> every=2, period=DAYS
- Parameters:
id (AutoField) – Primary key: ID
every (IntegerField) – Number of Periods. Number of interval periods to wait before running the task again
period (CharField) – Interval Period. The type of period between task runs (Example: days)
Reverse relationships:
- Parameters:
periodictask (Reverse
ForeignKey
fromPeriodicTask
) – All periodic tasks of this interval (related name ofinterval
)
- exception DoesNotExist¶
- exception MultipleObjectsReturned¶
- class django_celery_beat.models.PeriodicTask(*args, **kwargs)¶
Model representing a periodic task.
- Parameters:
id (AutoField) – Primary key: ID
name (CharField) – Name. Short Description For This Task
task (CharField) – Task Name. The Name of the Celery Task that Should be Run. (Example: “proj.tasks.import_contacts”)
args (TextField) – Positional Arguments. JSON encoded positional arguments (Example: [“arg1”, “arg2”])
kwargs (TextField) – Keyword Arguments. JSON encoded keyword arguments (Example: {“argument”: “value”})
queue (CharField) – Queue Override. Queue defined in CELERY_TASK_QUEUES. Leave None for default queuing.
exchange (CharField) – Exchange. Override Exchange for low-level AMQP routing
routing_key (CharField) – Routing Key. Override Routing Key for low-level AMQP routing
headers (TextField) – AMQP Message Headers. JSON encoded message headers for the AMQP message.
priority (PositiveIntegerField) – Priority. Priority Number between 0 and 255. Supported by: RabbitMQ, Redis (priority reversed, 0 is highest).
expires (DateTimeField) – Expires Datetime. Datetime after which the schedule will no longer trigger the task to run
expire_seconds (PositiveIntegerField) – Expires timedelta with seconds. Timedelta with seconds which the schedule will no longer trigger the task to run
one_off (BooleanField) – One-off Task. If True, the schedule will only run the task a single time
start_time (DateTimeField) – Start Datetime. Datetime when the schedule should begin triggering the task to run
enabled (BooleanField) – Enabled. Set to False to disable the schedule
last_run_at (DateTimeField) – Last Run Datetime. Datetime that the schedule last triggered the task to run. Reset to None if enabled is set to False.
total_run_count (PositiveIntegerField) – Total Run Count. Running count of how many times the schedule has triggered the task
date_changed (DateTimeField) – Last Modified. Datetime that this PeriodicTask was last modified
description (TextField) – Description. Detailed description about the details of this Periodic Task
Relationship fields:
- Parameters:
interval (
ForeignKey
toIntervalSchedule
) – Interval Schedule. Interval Schedule to run the task on. Set only one schedule type, leave the others null. (related name:periodictask
)crontab (
ForeignKey
toCrontabSchedule
) – Crontab Schedule. Crontab Schedule to run the task on. Set only one schedule type, leave the others null. (related name:periodictask
)solar (
ForeignKey
toSolarSchedule
) – Solar Schedule. Solar Schedule to run the task on. Set only one schedule type, leave the others null. (related name:periodictask
)clocked (
ForeignKey
toClockedSchedule
) – Clocked Schedule. Clocked Schedule to run the task on. Set only one schedule type, leave the others null. (related name:periodictask
)
Reverse relationships:
- Parameters:
o2otoperiodictasks (Reverse
OneToOneField
fromO2OToPeriodicTasks
) – The o2o to periodic tasks of this periodic task (related name ofperiodictask_ptr
)
- exception DoesNotExist¶
- exception MultipleObjectsReturned¶
- save(*args, **kwargs)¶
Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
- validate_unique(*args, **kwargs)¶
Check unique constraints on the model and raise ValidationError if any failed.
- class django_celery_beat.models.PeriodicTasks(*args, **kwargs)¶
Helper table for tracking updates to periodic tasks.
This stores a single row with
ident=1
.last_update
is updated via signals whenever anything changes in thePeriodicTask
model. Basically this acts like a DB data audit trigger. Doing this so we also track deletions, and not just insert/update.- Parameters:
ident (SmallIntegerField) – Primary key: Ident
last_update (DateTimeField) – Last update
- exception DoesNotExist¶
- exception MultipleObjectsReturned¶
- class django_celery_beat.models.SolarSchedule(*args, **kwargs)¶
Schedule following astronomical patterns.
Example: to run every sunrise in New York City:
>>> event='sunrise', latitude=40.7128, longitude=74.0060
- Parameters:
id (AutoField) – Primary key: ID
event (CharField) – Solar Event. The type of solar event when the job should run
latitude (DecimalField) – Latitude. Run the task when the event happens at this latitude
longitude (DecimalField) – Longitude. Run the task when the event happens at this longitude
Reverse relationships:
- Parameters:
periodictask (Reverse
ForeignKey
fromPeriodicTask
) – All periodic tasks of this solar event (related name ofsolar
)
- exception DoesNotExist¶
- exception MultipleObjectsReturned¶
- django_celery_beat.models.cronexp(field)¶
Representation of cron expression.
- django_celery_beat.models.crontab_schedule_celery_timezone()¶
Return timezone string from Django settings
CELERY_TIMEZONE
variable.If is not defined or is not a valid timezone, return
"UTC"
instead.