| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | ================ Periodic Tasks================You can schedule tasks to run at intervals like ``cron``.Here's an example of a periodic task:.. code-block:: python    from celery.decorators import periodic_task    from datetime import timedelta    @periodic_task(run_every=timedelta(seconds=30))    def every_30_seconds(\*\*kwargs):        logger = self.get_logger(\*\*kwargs)        logger.info("Running periodic task!")If you want a little more control over when the task is executed, for example,a particular time of day or day of the week, you can use the ``crontab`` scheduletype:.. code-block:: python    from celery.task.schedules import crontab    from celery.decorators import periodic_task    @periodoc_task(run_every=crontab(hour=7, minute=30, day_of_week=1))    def every_monday_morning(\*\*kwargs):        logger = self.get_logger(\*\*kwargs)        logger.info("Execute every Monday at 7:30AM.")If you want to use periodic tasks you need to start the ``celerybeat``service. You have to make sure only one instance of this server is running atany time, or else you will end up with multiple executions of the same task.To start the ``celerybeat`` service::    $ celerybeatYou can also start ``celerybeat`` with ``celeryd`` by using the ``-B`` option,this is convenient if you only have one server::    $ celeryd -B
 |