Код: Выделить всё
from celery import shared_task
from datetime import datetime
from .models import CeleLog
@shared_task
def get_all_weather_data():
now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
CeleLog.objects.create(content=f"Current time: {now}")
print(f"Logged time: {now}")
< /code>
settings.py
CELERY_BROKER_URL = 'amqp://localhost'
from celery.schedules import crontab
CELERY_BEAT_SCHEDULE = {
'log-every-minute': {
'task': 'company_dashboard.tasks.get_all_weather_data', #
celery.py - Project < /p>
import os
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app_rama.settings')
app = Celery('app_rama')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
from .celery import app as celery_app
< /code>
app-celery-worker.conf
[program:app-celery-worker]
command=/home/app/bin/celery -A app_rama worker -l INFO
directory=/home/app/app
user=app
numprocs=1
stdout_logfile=/home/app/logs/app-rama-worker.log
stderr_logfile=/home/app/logs/app-rama-worker.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600
killasgroup=true
priority=998
< /code>
Aapp-celery-beat.conf
[program:app-celery-beat]
command=/home/app/bin/celery -A app_rama beat -l INFO
directory=/home/app/app
user=app
numprocs=1
stdout_logfile=/home/app/logs/app-rama-worker.log
stderr_logfile=/home/app/logs/app-rama-worker.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600
killasgroup=true
priority=998
< /code>
и я запускаю:
sudo superisorctl rearead
supersorctl upport
sudo service nginx restart
sudo supersorctl restart
supersorctl applery applery
supersorct supersorct applery-becle-becle-becle-becle-becle-celectr-celery-becle-celery-becle-celectr-becle-celeri Решить это уже несколько часов. Журналы не показывают никаких ошибок, и конфигурация, похоже, была правильной. Я подозреваю, что эта проблема может быть связана с тем, как запускается сельдерей. Я не вижу никаких тестовых задач или моделей, работающих в журналах каждую минуту, так что, возможно, я не запускаю новую версию 5 сельдерея в настройках. Я бы очень признателен за любую помощь.
Подробнее здесь: https://stackoverflow.com/questions/796 ... celery-5-a