Skip to content

Commit e777bb7

Browse files
committed
Temporarily discard some requests
1 parent 6eb87bb commit e777bb7

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

app.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def _close_db(exception):
6666

6767
@app.route('/api/v1/parts', methods=['GET'])
6868
def parts():
69-
enabled = _get_config('parts_operational', False)
69+
enabled = True # _get_config('parts_operational', False)
7070
provider = Partstack
7171
response = make_response(dict(
7272
provider_name=provider.NAME,
@@ -97,10 +97,11 @@ def parts_query():
9797
cache_hits = 0
9898
providers = [
9999
PartsCache(db, max_age=PARTS_CACHE_MAX_AGE),
100-
Partstack(_get_config('parts_query_url'),
101-
_get_config('parts_query_token'),
102-
PARTS_QUERY_TIMEOUT, db, app.logger),
103100
]
101+
if _get_config('parts_operational', False):
102+
providers.append(Partstack(_get_config('parts_query_url'),
103+
_get_config('parts_query_token'),
104+
PARTS_QUERY_TIMEOUT, db, app.logger))
104105
for provider in providers:
105106
cache_hits += provider.fetch(parts, status)
106107

provider_partstack.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# -*- coding: utf-8 -*-
22

3+
import random
34
import requests
45

56
QUERY_FRAGMENT = """
@@ -80,6 +81,12 @@ def fetch(self, parts, status):
8081
if len(filtered_parts) == 0:
8182
return 0
8283

84+
# Temporarily discard some requests due to rate limit problem.
85+
if len(filtered_parts) < 5:
86+
return 0
87+
if random.randrange(0, 3) == 0:
88+
return 0
89+
8390
# Request parts data.
8491
query_response = requests.post(
8592
self._query_url,

0 commit comments

Comments
 (0)