Есть в Томске портал banki.tomsk.ru. На портале есть сервис, который отображает информацию о курсах валют из разных банков. Проблема в том, что обновление просиходит несколько раз в день и часто отличается от реальной картины. К тому же было замечено, что примерно один или два раза в месяц цена покупки становится больше продажи. И это, конечно, меня очень заинтересовало.

Я решил для себя сделать сервис, который будет собирать информацию из банков г. Томска и выводить ее на страничке.

Немного попроектируем. Разделим задачу на подзадачи. Подзадача 1 - отображать данные пользователю. Подзадача - 2. Собирать данные о банках. Подзадача 3 - наладить работу между подзадачами.

Подзадачу 1 будем решать так:

1) Запрос от пользователя будет обрабатывать веб-сервер Tornado (Python);

2) Данный скрипт обращается к memcache - серверу и запрашивает данные у него;

3) Memсache отдает данные.

Подзадачу 2 будем решать так:

1) По cron (каждые 15 минут) будем запускать скрипт, который будет собирать данные курсов валют из разных банков г. Томска;

2) результат выполнения скрипта (банки-курсы валют) записывается в memcache;

Подзадачу 3 будем решать по мере необходимости. Возможно возникнуть сложности с синхронизацией доступа к memcache.

Инструменты: tornado(python), memcache, cron, linux.

Перспектива: уведомления на email, смс.