stop reporting traces after the worker process begins to exit (#105)
diff --git a/lib/skywalking/client.lua b/lib/skywalking/client.lua
index 2dfd70a..881160d 100644
--- a/lib/skywalking/client.lua
+++ b/lib/skywalking/client.lua
@@ -204,9 +204,14 @@
end
segmentTransform = segmentTransform .. segment
- segment = queue:rpop(Const.segment_queue)
count = count + 1
+ if ngx.worker.exiting() then
+ break
+ end
+
+ segment = queue:rpop(Const.segment_queue)
+
if count >= SEGMENT_BATCH_COUNT then
if sendSegments('[' .. segmentTransform .. ']', backend_http_uri) then
totalCount = totalCount + count