yandex-tank-api-client の例がどのように機能するかわかりません。tank-example.pyで次の修正を行いました: 置き換えました (エラーはそうではありませんでした)
84: tsk = tankapi.shoot(*cfg)
と
84: tsk = tankapi.shoot(*cfg, f)
f - は関数です。
def f(status, t):
print "Status: %s" % status
サンプルの load.yaml ファイルを自分のファイルに置き換えました。
- tanks: ['localhost']
config: ./load.ini
log_name: task-A
download: ['*.log','*.ini']
upload: ['*.ammo']
expected_codes: [0]
load.iniの場所:
[DEFAULT]
use_caching = 0
[phantom]
phantom_path = /home/krylov/prj/yandex/phantom/bin/phantom
phantom_modules_path = /home/krylov/prj/yandex/phantom/lib/phantom
address=localhost:8000
rps_schedule=const(10, 10s)
; Headers and URIs for GET requests
header_http = 1.1
headers = /
[Host: 127.0.0.1]
[Connection: close]
uris = /
/instances
/datastore
/datastore-indexes
localhostでyandex-tank-api-serverを実行すると、tank-example.py スクリプトのテストが開始されますが、configureステージを終了できません。
2016-04-19 12:44:10,263 [DEBUG] Tank localhost: API returned code 200, contents:
{
"status": "running",
"retcode": null,
"stage_completed": true,
"break": "configure",
"current_stage": "lock",
"tank_status": {},
"failures": []
}
Status: 0
tank.logファイルは行で終了します (ここで完全なtank.logを実行できます):
2016-04-19 12:44:00,287 [INFO] yandex_tank_api.worker Changing the next break from lock to configure
2016-04-19 12:44:00,288 [WARNING] yandextank.core.tankcore Lock file present: /var/lock/lunapark_1WgKl6.lock
2016-04-19 12:44:00,288 [DEBUG] root No process[3]: [Errno 3] No such process
2016-04-19 12:44:00,288 [DEBUG] yandextank.core.tankcore Lock PID 13895 not exists, ignoring and trying to remove
PID が存在しない理由を理解したいと思います。例に誤りはありますか?