Locust集合点

1345 ワード

インタフェーストランザクションスクリプトを直接作成してバックグラウンドインタフェースをテストします.テストでは、すべての同時ユーザが初期化を完了した後に圧力テストを行う必要がある場合があります.これは、LoadRunnerの集合点のような概念が必要です.フレームワーク自体が直接カプセル化されていないため、以下の方法で実現できます.
from gevent._semaphore import Semaphore
all_locusts_spawned = Semaphore()
all_locusts_spawned.acquire()

def on_hatch_complete(**kwargs):
    all_locusts_spawned.release() // 

events.hatch_complete += on_hatch_complete // locust ( Locust )

class TestTask(TaskSet):
    def on_start(self):
        """ on_start is called when a Locust start before any task is scheduled """
        self.login()
        all_locusts_spawned.wait() // 

 
考え方:
locustによるgevent同時得メカニズムに基づいてgeventのロックの概念を導入し,locustのフック関数に代入し,集合点統一同時概念を実現する
転載先:https://www.cnblogs.com/grandlulu/p/9455794.html