GAE 上のアプリを Python 2.5 から Python 2.7 に移行しました。
Python 2.7 ではスレッド化が許可されており、バックグラウンドで電子メールを送信するためのスレッドを作成しようとしています。ここにスレッド:
from google.appengine.api import background_thread
from django.core.mail import send_mail
subject = 'Hello!'
msg = '\n \n Hello World!'
sender = settings.DEFAULT_FROM_EMAIL
to = 'xx@xx.com'
t = background_thread.BackgroundThread(target=send_mail, args=[subject, msg, sender, to])
t.start()
GAE で動作するはずですが、アプリをアップロードして実行しようとすると、次のエラーが表示されます。
Django Version: 1.3.1
Exception Type: FrontendsNotSupported
Exception Location: /python27_runtime/python27_lib/versions/1/google/appengine/api/background_thread/background_thread.py in start_new_background_thread, line 84
Python Executable: /python27_runtime/python27_dist/python
Python Version: 2.7.3
このエラーが表示される理由を知っている人はいますか?
通常のスレッドを使用するコード:
from threading import Thread
from django.core.mail import send_mail
subject = 'Hello!'
msg = '\n \n Hello World!'
sender = settings.DEFAULT_FROM_EMAIL
to = 'xx@xx.com
t = Thread(target=send_mail, args=[subject, msg, sender, to], kwargs={'fail_silently': False})
t.setDaemon(True)
t.start()