Я создал файл windows cmd, который вызывает три независимых файла bat.Я хочу создать задачу Windows, которая вызывает этот cmd-файл и запускается каждые 5 минут.Проблема в том, что эта задача отлично работает, только когда я вошел в систему. Но я не могу заставить эту задачу продолжать работать «вне зависимости от того, вошел я в систему или нет» .
Я даже попросил моего коллегу войти в систему на этом компьютере и запустить эту задачу под своей учетной записью - это сработало.Я создал локального администратора на этом компьютере, вошел в систему как этот пользователь, попытался выполнить эту задачу - она не работала - скрипт ждет вечно, пока post_results.bat.Я даже пытался запланировать задание jenkins, которое в основном делает то же самое - оно не работало - задание jenkins ждет вечно, пока post_results.bat (я убил задание jenkins после ожидания ~ 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 - вызывает скрипт Python, который отправляет результаты теста jmeter в datadog
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 минут.Если кто-нибудь сможет увидеть, что я делаю неправильно, и укажет на это ... Я был бы очень благодарен.