Team Ai
Apppublic

Underground-Digital/Workflow-Engine

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
mail_invite_member_task.py62 linesDownload Raw Back to tasks
1import logging2import time3 4import click5from celery import shared_task6from flask import render_template7 8from configs import dify_config9from extensions.ext_mail import mail10 11 12@shared_task(queue="mail")13def send_invite_member_mail_task(language: str, to: str, token: str, inviter_name: str, workspace_name: str):14    """15    Async Send invite member mail16    :param language17    :param to18    :param token19    :param inviter_name20    :param workspace_name21 22    Usage: send_invite_member_mail_task.delay(language, to, token, inviter_name, workspace_name)23    """24    if not mail.is_inited():25        return26 27    logging.info(28        click.style("Start send invite member mail to {} in workspace {}".format(to, workspace_name), fg="green")29    )30    start_at = time.perf_counter()31 32    # send invite member mail using different languages33    try:34        url = f"{dify_config.CONSOLE_WEB_URL}/activate?token={token}"35        if language == "zh-Hans":36            html_content = render_template(37                "invite_member_mail_template_zh-CN.html",38                to=to,39                inviter_name=inviter_name,40                workspace_name=workspace_name,41                url=url,42            )43            mail.send(to=to, subject="立即加入 Dify 工作空间", html=html_content)44        else:45            html_content = render_template(46                "invite_member_mail_template_en-US.html",47                to=to,48                inviter_name=inviter_name,49                workspace_name=workspace_name,50                url=url,51            )52            mail.send(to=to, subject="Join Dify Workspace Now", html=html_content)53 54        end_at = time.perf_counter()55        logging.info(56            click.style(57                "Send invite member mail to {} succeeded: latency: {}".format(to, end_at - start_at), fg="green"58            )59        )60    except Exception:61        logging.exception("Send invite member mail to {} failed".format(to))62