tracker.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:revocation-tracker 作者: alex 项目源码 文件源码
def run(port, db_uri, hsts):
    cert_db = CertificateDatabase(db_uri)
    crtsh_checker = CrtshChecker()
    app = raw_app = WSGIApplication(cert_db, crtsh_checker)
    if hsts:
        app = wsgi_sslify.sslify(app, subdomains=True)

    def build_service(reactor):
        multi = MultiService()
        StreamServerEndpointService(
            TCP4ServerEndpoint(reactor, port),
            server.Site(
                wsgi.WSGIResource(reactor, reactor.getThreadPool(), app),
            )
        ).setServiceParent(multi)

        logger = Logger()
        TimerService(
            # Run every 10 minutes
            10 * 60,
            lambda: deferToThread(
                check_for_revocation, cert_db, crtsh_checker
            ).addErrback(
                lambda f: logger.failure("Error checking for revocation", f)
            )
        ).setServiceParent(multi)

        TimerService(
            60 * 60,
            lambda: deferToThread(
                raw_app._update_lint_summaries
            ).addErrback(
                lambda f: logger.failure("Error updating cablint summaries", f)
            )
        ).setServiceParent(multi)
        return multi

    run_service(build_service)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号