Note that there are some explanatory texts on larger screens.

plurals
  1. POFlask-Mail breaks Celery
    primarykey
    data
    text
    <p>I've got a Flask app where celery works fine and Flask-Mail on its own works fine as well.</p> <pre><code>from celery import Celery from flask_mail import Mail, Message app = Flask(__name__) mail = Mail(app) celery = Celery('main_app', broker='mongodb://localhost', backend='mongodb://localhost') @celery.task def cel_test(): return 'cel_test' @app.route('/works_maybe') def works_maybe(): return cel_test.delay() </code></pre> <h1>SO FAR, SO GOOD</h1> <p>cel_test works fine with the celery worker; everything shows up in mongo.</p> <p>But here's where it gets weird. The "signup" plus mail method works 100% without <code>@celery.task</code>, but blows up when it becomes a task.</p> <pre><code>@celery.task def send_email(some_arg, name, email): msg = Message(…message details..) return mail.send(msg) @app.route("/signup", methods=['POST']) def signup(): return send_email.delay(...stuff for the message…) </code></pre> <h1>THE TRACE</h1> <pre><code>R = retval = fun(*args, **kwargs) File "/Users/username/pymods/virtualenvs/directory/lib/python2.7/site-packages/celery-3.0.15-py2.7.egg/celery/task/trace.py", line 415, in __protected_call__ return self.run(*args, **kwargs) File "/Users/username/pymods/directory/directory/main_app/main_app.py", line 43, in send_email something = 'a string in the Message'), File "/Users/username/pymods/virtualenvs/directory/lib/python2.7/site-packages/flask/templating.py", line 123, in render_template ctx.app.update_template_context(context) AttributeError: 'NoneType' object has no attribute 'app' </code></pre> <p>Could someone explain why in one case celery works great but when I involve mail.send(msg) it breaks?</p> <p>Perhaps there is something I need to learn with python more generally?</p> <p>Any thoughts, if at least as to approach to this type of issue would be greatly appreciated.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload