Задержка обновления файла во время URL перенаправления в скрипте Python - PullRequest
0 голосов
/ 27 мая 2011

Я использую скрипт Python (на веб-сервере Linux) для перенаправления пользователя по запросу. Перенаправление основано на базе данных (словаре Python), а сама база данных построена из удаленного файла CSV.

Сейчас мне нужно обновить базу данных вручную, но файл CSV может измениться в любое время.

Я ищу способ обновления базы данных после каждого запроса пользователя (через 10 секунд). Таким образом, база данных всегда обновляется, и пользователь не страдает от обновления.

Я пытаюсь использовать модуль shed, но он не работает.

import sched, time
s = sched.scheduler(time.time, time.sleep)
s.enter(0, 1, app.redirect, ())
s.enter(10, 1, app.data_base_update, ())
s.run()

Цель состоит в том, чтобы быстро перенаправить URL-адрес для пользователя и отложить обновление позже . Есть ли хорошее решение сделать это с помощью уникального файла сценария?

1 Ответ

0 голосов
/ 27 мая 2011

Вам будет лучше, если вы обновите COPY в фоновом режиме, мгновенно переключив их и превратив обновленную копию в живую копию. Таким образом, пользователь не будет ждать, и вы можете сделать это в любое время. Возможно, вам лучше не делать этого 10 секунд после каждого запроса пользователя (представьте, что поток запросов ... это поставит ваш сервер на колени). Вы можете запланировать выполнение cron-скрипта или другого автоматизированного задания каждую минуту или полчаса и т. Д .; в зависимости от размера задачи вы также можете ограничить загрузку ЦП.

Обратите внимание, что ваше решение по-прежнему не обеспечивает актуальность базы данных, поскольку вы работаете с удаленными данными. Но это, к сожалению, цена работы с удаленными данными. Старайтесь не забивать удаленные серверы, если они не принадлежат вам. =)

...