示例#1
0
def async_send_scores(message):
    """Send message to all users with active phones and a summary to """
    # Super simple profiling
    start_time = time.time()

    with mail.app.app_context():
        with mail.connect() as conn:
            for user in User.query.filter_by(phone_active=True):
                send_sms(user.carrier, user.phone_num, message, conn=conn)
        num_users = len(User.query.filter_by(phone_active=True).all())

    elapsed_time = time.time() - start_time
    admin_msg = Message(
        "CorpScores Event Stats",
        sender=mail.app.config.get("SMS_DEFAULT_SENDER"),
        recipients=mail.app.config.get("ADMINS"),
    )
    admin_msg.body = """
    Total Users: %d
    Message Length: %d
    Message: %s
    Elapsed time: %f""" % (
        num_users,
        len(message),
        message,
        elapsed_time,
    )
    with mail.app.app_context():
        mail.send(admin_msg)
示例#2
0
 def __init__(self, username, email, password=None, **kwargs):
     db.Model.__init__(self, username=username, email=email, **kwargs)
     if password:
         self.set_password(password)
     else:
         self.password = None
     # Send Email and SMS confirmation messages
     message = 'You are now signed up for CorpScores.'
     if self.carrier and self.phone_num:
         send_sms(self.carrier, self.phone_num, message)
     msg = Message('CorpScores Registration Confirmation',
                   recipients=[self.email])
     msg.body = render_template('users/reg_confirm.txt')
     mail.send(msg)
示例#3
0
def async_send_scores(message):
    '''Send message to all users with active phones and a summary to '''
    # Super simple profiling
    start_time = time.time()

    with mail.app.app_context():
        with mail.connect() as conn:
            for user in User.query.filter_by(phone_active=True):
                send_sms(user.carrier, user.phone_num, message, conn=conn)
        num_users = len(User.query.filter_by(phone_active=True).all())

    elapsed_time = time.time() - start_time
    admin_msg = Message('CorpScores Event Stats',
                        sender=mail.app.config.get('SMS_DEFAULT_SENDER'),
                        recipients=mail.app.config.get('ADMINS'))
    admin_msg.body = '''
    Total Users: %d
    Message Length: %d
    Message: %s
    Elapsed time: %f''' % (num_users, len(message), message, elapsed_time)
    with mail.app.app_context():
        mail.send(admin_msg)