Внедрить основанные на времени квоты в Python - PullRequest
2 голосов
/ 09 июня 2011

Мне нужно реализовать квоту, основанную на времени, в моем приложении на python (витой).

Существует ли существующий модуль или другая реализация, которую я должен использовать в качестве ссылки?

СпециальноМоему приложению необходимо ограничить количество подключений от клиентов, используя такие правила, как «10 подключений в минуту».

Существует имя модуля Google App Engine 'taskqueue', которое, кажется, соответствует моим потребностям, но я не использую GAE.

Спасибо.

РЕДАКТИРОВАТЬ:

  • платформа Linux
  • re: iptables;это должно быть в приложении b / .c квоты будут основываться не на IP-адресе источника, а на данных, относящихся к конкретному приложению (например, «clientid»).

1 Ответ

1 голос
/ 09 июня 2011

Я не знаю ни одного готового компонента, но это должно быть довольно просто сделать.

Я бы, вероятно, использовал таблицу базы данных, содержащую два столбца: идентификатор пользователя и метку времени.Каждый раз, когда пользователь (IP-адрес?) Хочет установить соединение, вы находите все записи с этим идентификатором пользователя с отметкой времени между сейчас и 60 секундами назад.Если он ниже предела, вы добавляете запись и разрешаете соединение;в противном случае вы отклоняете соединение.

...