<p>您可以通过实现一个定制的<code>execute_task()</code>方法来实现这一点,在该方法中触发request\u success事件</p>
<p>像这样的方法应该会奏效:</p>
<pre class="lang-py prettyprint-override"><code>import time
class TaskReportingTaskSet(TaskSet):
def execute_task(self, task, *args, **kwargs):
start = time.time()
try:
super().execute_task(task, *args, **kwargs)
except:
events.request_failure.fire(
request_type="task",
name=task.__name__,
response_time=(time.time()-start)*1000,
response_length=0,
)
raise
else:
events.request_success.fire(
request_type="task",
name=task.__name__,
response_time=(time.time()-start)*1000,
response_length=0,
)
class UserBehavior(TaskReportingTaskSet):
tasks = ...
</code></pre>
<p>使用上述代码,如果任务集从<code>TaskReportingTaskSet</code>继承,则将报告所有任务的运行时^如果要包含<code>on_start</code>和<code>on_stop</code>,则必须分别激发{<cd3>}事件</p>
<p>如果您不想报告HTTP请求,只需使用一个HTTP客户端,它不是内置的蝗虫HTTP客户端之一。例如,您可以直接使用python请求:</p>
<pre class="lang-py prettyprint-override"><code>import requests
def index(l):
requests.get("/")
</code></pre>