Skip to content

Commit 79fedf8

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

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-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: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# -*- coding: utf-8 -*-
22

3+
import random
4+
35
import requests
46

57
QUERY_FRAGMENT = """
@@ -80,6 +82,12 @@ def fetch(self, parts, status):
8082
if len(filtered_parts) == 0:
8183
return 0
8284

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

0 commit comments

Comments
 (0)