NX Lab

Lập lịch chạy script NX ban đêm bằng Windows Task Scheduler và run_journal (schtasks)

#Triển khai#Tự động hóa#run_journal2 lượt xem

  1. Quản trị viênQuản trị· 0 điểm

    Câu hỏi ·

    Xuất hàng loạt STEP, kiểm tra thuộc tính toàn kho nên chạy ban đêm khi máy rảnh. Windows Task Scheduler gọi run_journal vào giờ định sẵn; kết quả nằm trong log và email báo cáo buổi sáng.

    Lập lịch chạy script NX ban đêm bằng… Lập lịch chạy script NX ban đêm bằng…

    Chuẩn bị

    • Một tài khoản dịch vụ có quyền đọc ghi thư mục dữ liệu và có giấy phép NX.
    • Script chạy được độc lập, không hộp thoại, trả mã thoát rõ ràng.

    Các bước thực hiện

    1. Viết file .bat gọi run_journal. Thiết lập biến môi trường cần thiết.
    2. Kiểm tra chạy tay. Chạy .bat bằng tài khoản dịch vụ.
    3. Tạo tác vụ. schtasks /create ... hàng ngày 02:00.
    4. Ghi log. Chuyển hướng đầu ra vào file.
    5. Giám sát. Đọc log và email sáng hôm sau.

    File .bat và lệnh tạo tác vụ

    :: ===== File: D:\NXLab\chay_dem.bat =====
    @echo off
    set UGII_BASE_DIR=C:\Program Files\Siemens\NX 12.0
    set UGII_ROOT_DIR=%UGII_BASE_DIR%\UGII
    set UGII_CUSTOM_DIRECTORY_FILE=D:\NXLab\custom_dirs.dat
    set NXLAB_NGON_NGU=vi
    set LOG=D:\NXLab_log\chay_dem_%date:~-4%%date:~3,2%%date:~0,2%.log
    
    echo [%date% %time%] Bat dau >> "%LOG%"
    "%UGII_BASE_DIR%\NXBIN\run_journal.exe" "D:\NXLab\scripts\xuat_step_hang_loat.py" -args "D:\Du_an\ban_ve" "D:\NXLab_xuat\step" >> "%LOG%" 2>&1
    echo [%date% %time%] Ket thuc, ma thoat %errorlevel% >> "%LOG%"
    exit /b %errorlevel%
    
    :: ===== Tạo tác vụ chạy hàng ngày lúc 02:00 (chạy trong cửa sổ cmd quản trị) =====
    schtasks /create /tn "NXLab\ChayDem" /tr "D:\NXLab\chay_dem.bat" /sc daily /st 02:00 /ru "DOMAIN\svc_nx" /rp *
    
    :: ===== Xem, chạy thử, xóa =====
    schtasks /query /tn "NXLab\ChayDem" /v /fo list
    schtasks /run /tn "NXLab\ChayDem"
    schtasks /delete /tn "NXLab\ChayDem" /f
    

    Giải thích code

    • Biến môi trường (UGII_*) phải được đặt trong .bat vì tác vụ lập lịch không kế thừa môi trường phiên đăng nhập của bạn.
    • /ru ... /rp * yêu cầu nhập mật khẩu tài khoản dịch vụ lúc tạo, không lưu mật khẩu trong file.
    • Mã thoát từ run_journal cho Task Scheduler biết tác vụ thành công hay không.

    Lỗi thường gặp

    • Đường dẫn cài đặt NX và tên biến môi trường trong ví dụ là điển hình; kiểm tra theo cài đặt thật của bạn.
    • Tác vụ chạy dưới tài khoản không có giấy phép NX sẽ lỗi ngay khi khởi động; kiểm tra giấy phép dịch vụ.
    • Không chạy tác vụ ban đêm lên dữ liệu gốc khi chưa thử kỹ trên bản sao.

    Code mang tính tham khảo, viết cho NX 12 trở lên (Python journal). Tên menu và một số lớp có thể khác theo phiên bản NX; hãy chạy thử trên bản sao của chi tiết trước khi dùng cho dữ liệu thật.

    Điểm: 0

Trả lời

Đăng nhập để tham gia thảo luận.