Хорошо, если вы хотите отправлять электронные письма, используйте модуль email
.
На вашем месте я написал бы простой скрипт на Python, который обрабатывает набор правил, возможно, просто записанный в виде простых выражений Python, в отдельном файле, а затем отправлял электронные письма / смс / ... для этих правил.которые требуют действий, которые должны быть выполнены.
Вы можете запустить его один раз в день (или как угодно), используя такой сервис, как cron
Например, если ваши правила выглядят так:
# Rule file: rules.py
def rule1():
if db.getAllUsers().contains("admin"):
return ('email', 'no admin user in db')
else:
return None, None
def rule2():
if temp > 100.0:
return ('sms', 'too hot in greenhouse')
else:
return (None, None)
...
rules = [rule1, rule2, ....]
тогда ваш сценарий обработки может выглядеть так:
# Script file: engine.py
import rules
import email
...
def send_email(message, receiver):
# function that sends an email...
def send_sms(message, receiver):
# function that sends an sms...
actions = {'email':send_email, 'sms':send_sms, ...}
if __name__ == '__main__':
# Declare receiver here...
for rule in rules.rules:
# Does the rule return a do-able action?
# To be really paranoid we might wrap this in a try/finally
# in case the rules themselves have any side effects,
# or they don't all return 2-tuples.
act, message = rule()
if act in actions:
# perform the action
actions[rule()](message, receiver)
Несомненно, есть другие способы сделать это, например, создать Pythonic DSL , с помощью которого можно написать правила.