Для настройки Celery Beat в Django проекте для запланированного запуска парсера, вам нужно выполнить следующие шаги:
1. Убедитесь, что у вас установлены пакеты Celery и Django-celery-beat:
```
pip install celery django-celery-beat
```
2. Добавьте приложение `django_celery_beat` в `INSTALLED_APPS` вашего проекта в файле `settings.py`:
```python
INSTALLED_APPS = [
...
'django_celery_beat',
...
]
```
3. Создайте таблицы для хранения расписания задач Celery Beat:
```
python manage.py migrate
```
4. В вашем проекте создайте файл `celery.py` с настройками Celery:
```python
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings')
app = Celery('your_project')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
```
5. В файле `settings.py` добавьте настройки для Celery:
```python
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
# Настройки Celery Beat
CELERY_BEAT_SCHEDULE = {
'run-parser-every-5-minutes': {
'task': 'path.to.your.parser_task', # Путь к вашей задаче
'schedule': 300.0, # Выполнить каждые 5 минут
},
}
```
6. Запустите Celery Beat:
```
celery -A your_project beat --loglevel=info
```
Теперь Celery Beat будет выполнять вашу задачу парсера с указанной периодичностью. Проверьте журналы и убедитесь, что задачи выполняются правильно.
Если после выполнения этих шагов что-то не работает, убедитесь, что ваш парсер правильно настроен и что путь к задаче указан верно в настройках Celery Beat. Также, если вы используете Redis в качестве брокера сообщений, убедитесь, что он запущен и доступен.