簡體   English   中英

無法運行在SYSTEM帳戶下發出https請求的Windows任務

[英]Unable to run a windows task that makes https request under SYSTEM account

我創建了一個Windows cmd文件,該文件調用了三個獨立的bat文件。 我想創建一個Windows任務,調用此cmd文件並每5分鍾運行一次。 問題在於,只有在我登錄系統后,此任務才能正常運行。 但是我無法使此任務繼續運行“無論是否登錄”

我什至要求我的同事登錄到該計算機,並在他的帳戶下運行此任務-它起作用了。 我在該計算機上創建了一個本地管理員用戶,以該用戶身份登錄,試圖運行此任務-它不起作用-該腳本在post_results.bat中永遠等待。 我什至試圖安排一個基本上做相同事情的詹金斯工作-它不起作用-詹金斯工作永遠等待post_results.bat(我在等待〜20分鍾后殺死了詹金斯工作)。

以下是這些任務的摘要:

run_all.cmd

call "run_test.bat"
call "post_results.bat"
call "clean.bat"

run_test.bat-執行一個jmeter腳本

C:\Users\Administrator\LS2\apache-jmeter-4.0\bin\jmeter -n -t api_strategy_synthetic_tests.jmx -JTestEnv=amer1 -l Result_log.jtl

post_results.bat-調用將jmeter測試結果發布到datadog的python腳本

python post_jmeter_results_to_datadog.py Result_log.jtl

post_jmeter_results_to_datadog.py-使用datadog python API將指標發布到datadog

#!/usr/bin/env python3
import sys
import pandas as pd
from datadog import initialize, api

options = {
    'api_key': <API_KEY>,
    'app_key': <APPLICATION_KEY>
}
initialize(**options)

jtl_file = sys.argv[1]
df = pd.read_csv(jtl_file)
for index, row in df.iterrows():
    tag = "success:" + str(row['success'])
    api.Metric.send(
        metric=row['label'],
        points=[(row['timeStamp']/1000,row['elapsed'])],
        tags=[tag]
        )

clean.bat-刪除jmeter測試結果文件

rmdir /s /q "errors"
del "jmeter.log"
del "Result_log.jtl"

我需要的是能夠每5分鍾運行一次此任務。 如果有人能看到我在做什么錯並指出這一點……我將非常感激。

您可以創建一個PowerShell腳本來遠程執行批處理腳本。 甚至您都可以使用Windows Task Scheduler來計划PowerShell腳本,該任務將按照您的設置運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM