Допустим я создал следующий файл tasks.py
from celery import Celery
app = Celery('tasks', backend='amqp', broker='amqp://')
@app.task
def mycelery(mygetvideo):
subprocess.call.delay(mygetvideo)
Далее у меня есть models.py
Именно здесь:
import tasks
def save_model(self, request, obj, form, change):
for x xrang(1,10):
tasks.mycelery.delay(mygetvideo)
Нормально ли это? Ведь когда делаешь импорт файл с декораторами, такое:
@decorator сразу же автоматически выполняется, в данному случае какой то другой декоратор(это я про @app.task)?
Также другой вопрос, каждый раз вручную надо запускать celery и раббит из командной строки ос? Вдруг процессы подвиснут, а я буду далеко, автоматически не перезапустить?
Также можете подсказать какие настройки надо делать в setting.py правильно? Сейчас стоит следующий параметр:
BROKER_URL = 'amqp://guest:guest@localhost:5672//'
наверно это не безопасно.
Читаю доки по нескольку раз, но что-то пока непонимание.