✨ Added Steam API rate limiter
This commit is contained in:
@@ -63,7 +63,9 @@ class Manager:
|
||||
# Handle unretryable errors
|
||||
log_args = (type(error).__name__, self.name, game.name, game.game_id)
|
||||
if type(error) not in self.retryable_on:
|
||||
logging.error("Unretryable %s in %s for %s (%s)", *log_args)
|
||||
logging.error(
|
||||
"Unretryable %s in %s for %s (%s)", *log_args, exc_info=error
|
||||
)
|
||||
self.report_error(error)
|
||||
break
|
||||
# Handle being out of retries
|
||||
|
||||
@@ -43,9 +43,10 @@ class TokenBucketRateLimiter(AbstractContextManager):
|
||||
if refill_spacing_seconds is not None:
|
||||
self.REFILL_SPACING_SECONDS = refill_spacing_seconds
|
||||
|
||||
# Create locks
|
||||
# Create synchro data
|
||||
self.__n_tokens_lock = Lock()
|
||||
self.queue_lock = Lock()
|
||||
self.queue = deque()
|
||||
|
||||
# Initialize the number of tokens in the bucket
|
||||
self.bucket = BoundedSemaphore(self.MAX_TOKENS)
|
||||
|
||||
Reference in New Issue
Block a user