内容来源于 Stack Overflow,遵循 CC BY-SA 4.0 许可协议进行翻译与使用。IT领域专用引擎提供翻译支持
腾讯云小微IT领域专用引擎提供翻译支持
我在Oracle机器上运行Airflow 2.3.0,当我在两个不同的终端上运行命令(命令 airflow scheduler 和 airflow webserver )时,一切正常。但是,当我尝试以守护进程(命令 airflow scheduler -D 和 airflow webserver -D )的形式运行服务时,只有调度程序命令才能工作。webserver命令生成以下错误。
airflow scheduler
airflow webserver
airflow scheduler -D
airflow webserver -D
我配置了气流(因此也是 webserver_conf.py 文件),通过OAuth身份验证来工作,添加了自己的提供程序并扩展了 AirflowSecurityManager 类,这样它就可以验证新的提供程序。正如我前面提到的,如果我正常运行这些服务,一切正常工作(甚至是登录到应用程序的身份验证)。我在Apache 文档 之后配置了 webserver_conf.py 文件,下面是对 webserver_conf.py 文件的配置。
webserver_conf.py
AirflowSecurityManager
from airflow.www.security import AirflowSecurityManager class BaseSecurityManagerTQ(AirflowSecurityManager): def get_oauth_user_info(self, provider, resp): if provider == "TQ": me = self.appbuilder.sm.oauth_remotes[provider].get('/connect/userinfo') data = me.json() ans = { "username": "tq_" + data.get('name', ""), "email": data.get("email", ""),