Periodic task schedule: Use to schedule a task to run periodically,
    starting from start_date (or None to be active immediately) until end_date
    (or None to repeat forever).

    The period starts at the given start_date, or on Jan 1st 2000.

    For more details, see README.

def periodic(seconds=0, minutes=0, hours=0, days=0, weeks=0, start_date=None,
             end_date=None):
    """
    Periodic task schedule: Use to schedule a task to run periodically,
    starting from start_date (or None to be active immediately) until end_date
    (or None to repeat forever).

    The period starts at the given start_date, or on Jan 1st 2000.

    For more details, see README.
    """
    period = seconds + minutes*60 + hours*3600 + days*86400 + weeks*604800
    assert period > 0, "Must specify a positive period."
    if not start_date:
        # Saturday at midnight
        start_date = datetime.datetime(2000, 1, 1)
    return (_periodic, (period, start_date, end_date))