Dockerfile 部署
This commit is contained in:
@@ -5,7 +5,6 @@ __pycache__/
|
||||
.Python
|
||||
env/
|
||||
venv/
|
||||
.env
|
||||
.venv
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
@@ -98,6 +98,13 @@ def fetch_issue_receipt_incremental():
|
||||
page = get_page(port=9222)
|
||||
|
||||
try:
|
||||
# 如果是首次打开浏览器(没有保持登录状态),先调用 login
|
||||
from login import login
|
||||
log("INFO", "检查登录状态并执行登录...")
|
||||
if not login(page):
|
||||
log("ERR", "登录 ERP 系统失败,中止抓取。")
|
||||
return
|
||||
|
||||
log("INFO", f"正在直接跳转到发料单明细页面...")
|
||||
page.get("https://yunmes.tftykj.cn/WorkOrdersQuery")
|
||||
page.wait.load_start()
|
||||
|
||||
@@ -56,6 +56,13 @@ def fetch_receipt_details_incremental():
|
||||
page = get_page(port=9222)
|
||||
|
||||
try:
|
||||
# 如果是首次打开浏览器(没有保持登录状态),先调用 login
|
||||
from login import login
|
||||
log("INFO", "检查登录状态并执行登录...")
|
||||
if not login(page):
|
||||
log("ERR", "登录 ERP 系统失败,中止抓取。")
|
||||
return
|
||||
|
||||
TARGET_URL = "https://yunmes.tftykj.cn/ReceiptDetailsCheckFinace"
|
||||
log("INFO", f"正在直接访问目标页面: {TARGET_URL}")
|
||||
page.get(TARGET_URL)
|
||||
|
||||
@@ -42,10 +42,13 @@ def dump_page_state(page: ChromiumPage, label: str = ""):
|
||||
# ── 浏览器 ────────────────────────────────────────────────────────────────────
|
||||
def get_page(headless: bool = False, port: int = 9222) -> ChromiumPage:
|
||||
co = ChromiumOptions()
|
||||
if headless:
|
||||
# 强制在生产环境下使用无头模式
|
||||
is_docker = os.path.exists('/.dockerenv')
|
||||
if headless or is_docker:
|
||||
co.set_argument("--headless=new")
|
||||
co.set_argument("--disable-blink-features=AutomationControlled")
|
||||
co.set_argument("--no-sandbox")
|
||||
co.set_argument("--disable-dev-shm-usage") # 增加这个参数防止容器内存不足
|
||||
co.set_argument("--window-size=1440,900")
|
||||
co.set_local_port(port)
|
||||
return ChromiumPage(co)
|
||||
|
||||
Reference in New Issue
Block a user