Я должен выполнять тысячи вызовов по выборке URL в течение дня. Все вызовы одинаковые, только параметры меняются - way
и date
.
В настоящее время я использую несколько записей cron для выполнения таких вызовов:
- description: get data
url: /admin/getdata?d=way1,way2,way3,way4,...,way12
schedule: every day 8:30
- description: get data
url: /admin/getdata?d=way13,way14,way15,way16,...,way24
schedule: every day 8:40
...
- description: get data
url: /admin/getdata?d=way99,way100,way101,way102,...,way123
schedule: every day 9:20
Затем в моем обработчике getdata
я анализирую полученный параметр d
и выполняю несколько urlfetch
es:
for date_ in dates:
for way in d:
response = urlfetch.Fetch('http://example.com?way='+way+'&date='+date_, deadline=60, headers=headers, follow_redirects=True)
Но мне это не очень помогает - все же 60 секунд, отведенных на работу cron, недостаточно.
Я думал запускать задание cron каждые десять минут, но я должен хранить где-то возможные way
s и date
s, отмечать уже выполненные запросы, а затем сбрасывать их (чтобы иметь возможность выполнить все снова на следующий день).
Есть ли лучший способ сделать то же самое?