задача сельдерея не запускается в flask - PullRequest
0 голосов
/ 18 июня 2020
 def make_celery(app):
celery = Celery(app.import_name, backend=app.config['result_backend'],
                broker=app.config['broker_url'])
celery.conf.update(app.config)
TaskBase = celery.Task

class ContextTask(TaskBase):
    abstract = True

    def __call__(self, *args, **kwargs):
        with app.app_context():
            return TaskBase.__call__(self, *args, **kwargs)

celery.Task = ContextTask
return celery


 app = Flask(__name__)
   logger = get_task_logger(__name__)
 app.config['MAIL_SERVER'] = 'smtp.gmail.com'
    app.config['MAIL_PORT'] = 587
  app.config['MAIL_USE_TLS'] = True
 app.config['MAIL_USERNAME'] = 'xyz@gmail.com'
 app.config['MAIL_PASSWORD'] = '456'
  mail = Mail(app)
   app.config.update(
        broker_url='amqp://aarm:4569@localhost/aarm',
       result_backend='rpc://'

      )


  CELERYBEAT_SCHEDULE = {
'every-minute_mailSend': {
    'task': 'app.mailSend',
    'schedule': crontab(minute="*/1")
}
 }
  celery = make_celery(app)


  @app.route('/')
  def index():
  mailSend.apply_async()
   return 'Mail sent'


 @celery.task()
 def mailSend():
  msg = Message('Hello', sender='xyz@gmail.com', recipients= 
  ['abc@gmail.com'])
    msg.body = "First time send email by flask"
     mail.send(msg)

когда я запускаю flask и сельдерей в другом терминале, он работает отлично, никаких ошибок не дает, но в функции браузера return Mail отправлено, но задача сельдерея не запускается. Я начинаю узнавать о сельдерее. Я хочу отправлять электронную почту каждую минуту, так что пожалуйста

...