From a1369a2b00277bd19152560bf37ca49e15bb0c7e Mon Sep 17 00:00:00 2001 From: Alan Hamlett Date: Thu, 4 Oct 2018 23:59:23 -0700 Subject: [PATCH] send 50 offline heartbeats per request with one second delay in between --- tests/test_main.py | 1 + tests/test_offlinequeue.py | 1 + wakatime/constants.py | 4 ++-- wakatime/main.py | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/test_main.py b/tests/test_main.py index 1b70f5c..ec37a6e 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -27,6 +27,7 @@ from .utils import ANY, CustomResponse class MainTestCase(utils.TestCase): patch_these = [ + 'time.sleep', 'wakatime.packages.requests.adapters.HTTPAdapter.send', 'wakatime.offlinequeue.Queue.push', ['wakatime.offlinequeue.Queue.pop', None], diff --git a/tests/test_offlinequeue.py b/tests/test_offlinequeue.py index 8e52c82..552f02c 100644 --- a/tests/test_offlinequeue.py +++ b/tests/test_offlinequeue.py @@ -20,6 +20,7 @@ from .utils import mock, json, ANY, CustomResponse, NamedTemporaryFile, Temporar class OfflineQueueTestCase(TestCase): patch_these = [ + 'time.sleep', 'wakatime.packages.requests.adapters.HTTPAdapter.send', 'wakatime.session_cache.SessionCache.save', 'wakatime.session_cache.SessionCache.delete', diff --git a/wakatime/constants.py b/wakatime/constants.py index 938d673..070a8f9 100644 --- a/wakatime/constants.py +++ b/wakatime/constants.py @@ -46,11 +46,11 @@ Default is 2MB. """ MAX_FILE_SIZE_SUPPORTED = 2000000 -""" Default number of offline heartbeats to sync before exiting.""" +""" Default limit of number of offline heartbeats to sync before exiting.""" DEFAULT_SYNC_OFFLINE_ACTIVITY = 100 """ Number of heartbeats per api request. Even when sending more heartbeats, this is the number of heartbeats sent per individual https request to the WakaTime API. """ -HEARTBEATS_PER_REQUEST = 10 +HEARTBEATS_PER_REQUEST = 50 diff --git a/wakatime/main.py b/wakatime/main.py index 42c227e..a1a6dca 100644 --- a/wakatime/main.py +++ b/wakatime/main.py @@ -14,6 +14,7 @@ from __future__ import print_function import logging import os import sys +import time import traceback pwd = os.path.dirname(os.path.abspath(__file__)) @@ -76,6 +77,7 @@ def execute(argv=None): if retval == SUCCESS: queue = Queue(args, configs) for offline_heartbeats in queue.pop_many(args.sync_offline_activity): + time.sleep(1) retval = send_heartbeats(offline_heartbeats, args, configs) if retval != SUCCESS: break