Как правильно выполнить асинхронный код Python?

Мне нужно было отправить почту из моего простого приложения Flask, поэтому я подумал, что проще всего будет отправить ее с помощью smtplib. . Но мне пришлось сделать это асинхронно — нельзя просто вставить в запрос 3-секундную задержку — верно? Поэтому я добавляю электронное письмо в очередь (таблицу psql) и отправляю его из другой программы, которая читает эту таблицу и использует smptlib.

Эта вторая программа (maildonkey) работает как отдельный процесс в независимой службе выскочки.

Теперь мне нужен еще один из этих маленьких асинхронных сервисов, и я думаю, должен ли я написать еще один скрипт на Python (третий, считая мое приложение Flask и «maildonkey»), или я должен использовать что-то вроде «мультипроцесса» Python, или даже 'нить' и переписать вторую программу?

(Когда я программировал на Clojure, я мог легко запускать код в отдельном потоке с «фьючерсами», поэтому обычно я так и делал.)

11
задан Blender 4 April 2012 в 01:51
поделиться