
infrascielo/opac-airflowOPAC-Airflow是SciELO基于Apache Airflow的定制配置,用于控制元数据和文档的流程,以实现向OPAC网站的发布,涵盖从遗留系统直接摄入的全流程管理。
存储在Minio(兼容AWS S3)中。为将数据加载到OPAC网站,系统会读取Kernel中的变更记录。
kernel_gate:将ISIS数据库镜像到Kernelpre_sync_documents_to_kernel:复制指定的SPS包sync_documents_to_kernel:将SPS包中的文档与Kernel和Minio同步kernel_changes:将Kernel中的元数据加载到网站bashdocker-compose build
运行应用:
bashdocker-compose up -d
bash$ airflow initdb $ airflow scheduler $ airflow webserver
opac_connMongoDBopac{"authentication_source": "admin"}kernel_connHTTPaws_defaultAmazon Web Servicehttp 或 https{"host": "<主机地址:端口>"}BASE_TITLE_FOLDER_PATH:ISIS title数据库的源目录BASE_ISSUE_FOLDER_PATH:ISIS issue数据库的源目录WORK_FOLDER_PATH:ISIS数据库的复制目录SCILISTA_FILE_PATH:scilista文件的读取路径XC_SPS_PACKAGES_DIR:待同步的SPS包源目录PROC_SPS_PACKAGES_DIR:待同步的SPS包目标目录NEW_SPS_ZIP_DIR:优化后的SPS包目标目录WEBSITE_URL_LIST:用于验证资源可用性的SciELO网站URL列表,例如:["[***]", "[***]"]OBJECT_STORE_URL:对象存储URL,用于过滤HTML中的URI,以验证文档的数字资产和manifestations在HTML代码中的存在性KERNEL_FETCH_DATA_TIMEOUT:Kernel数据读取请求的超时时间TIMEOUT_FOR_SINGLE_REQ(可选):单个请求的超时时间(秒),默认10秒TIMEOUT_FOR_MULT_REQ(可选):并发请求的总超时时间(秒),默认300秒PID_LIST_CSV_FILE_NAMES(可选):需存在于XC_SPS_PACKAGES_DIR中的CSV文件名列表,将被复制到PROC_SPS_PACKAGES_DIR/DAG_RUN_ID,用于验证文档、数字资产和manifestations可用性的DAGCHECK_SCI_SERIAL_PAGES(可选,默认true):设为false时禁用sci_serial页面的验证CHECK_SCI_ISSUES_PAGES(可选,默认true):设为false时禁用sci_issues页面的验证CHECK_SCI_ISSUETOC_PAGES(可选,默认true):设为false时禁用sci_issuetoc页面的验证CHECK_SCI_ARTTEXT_PAGES(可选,默认true):设为false时禁用sci_arttext页面的验证CHECK_SCI_PDF_PAGES(可选,默认true):设为false时禁用sci_pdf页面的验证CHECK_RENDITIONS(可选,默认true):设为false时禁用对象存储中manifestations的验证CHECK_DIGITAL_ASSETS(可选,默认true):设为false时禁用对象存储中数字资产的验证CHECK_WEB_HTML_PAGES(可选,默认true):设为false时禁用/j/:acron/a/:iddoc/format=html&lang=??格式的Web页面验证(含语言变体),同时禁用对HTML结果中组件(数字资产存在性及文档其他版本链接)的验证CHECK_WEB_PDF_PAGES(可选,默认true):设为false时禁用/j/:acron/a/:iddoc/format=pdf&lang=??格式的Web页面验证(含语言变体)IS_SPORADIC:布尔值,定义流程结束时是否发送邮件,默认False,可选值为字符串['False', 'True']AIRFLOW_HOME:应用安装目录EMAIL_ON_FAILURE_RECIPIENTS:失败通知邮件接收地址,默认:***AIRFLOW__SMTP__SMTP_HOST:邮件服务器地址AIRFLOW__SMTP__SMTP_USER:发送邮件的***地址AIRFLOW__SMTP__SMTP_PASSWORD:发送邮件的***密码AIRFLOW__SMTP__SMTP_MAIL_FROM:发件人***地址AIRFLOW__SMTP__SMTP_SSL:True或False,指示邮件服务器是否使用加密AIRFLOW__SMTP__SMTP_PORT:邮件服务器端口AIRFLOW__SENTRY__SENTRY_DSN:Sentry项目的DSN,用于记录执行中的tracebackPOSTGRES_USER:Postgres连接用户名POSTGRES_PASSWORD:Postgres连接密码POSTGRES_HOST:Postgres主机地址POSTGRES_PORT:Postgres端口POSTGRES_DB:Opac-airflow的Postgres数据库名sync_isis_to_kernel
pre_sync_documents_to_kernel
sync_documents_to_kernelsync_kernel_to_website
sync_external_content_to_website(每周六00:00执行)
Copyright 2018 SciELO <***>。基于BSD许可条款授权。更多信息请参见源代码中的LICENSE文件。
[***]


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务