2014-01-21 1 views
0

Два вопроса о тайм-аутах сеанса в вишневом:Вопросы по тайм-ауту Cherrypy Session

1) Есть ли способ определить оставшееся время в сеансе? Это связано с попыткой использовать http://plugins.jquery.com/epilgrim.sessionTimeoutHandler/

2) Есть ли способ сделать звонок на cherrypy НЕ сбрасывать таймаут, чтобы плагин выше мог вызывать URL-адрес, чтобы определить время, оставшееся в сеансе, без сброса указанного времени

Редактировать, чтобы уточнить причину. Цель здесь - иметь клиентский процесс, который периодически запрашивает сервер через AJAX, чтобы определить количество времени, оставшегося в сеансе пользователей. Это необходимо для преодоления трудностей с сохранением тайм-аута тайм-аута сеанса на стороне клиента с таймером на стороне сервера. Я хотел бы просто попросить клиента спросить у сервера «сколько времени у меня осталось?» и действовать соответственно. Конечно, если в результате запроса сбрасывается тайм-аут, тогда это не сработает, так как запросы AJAX «время оставлено» по существу станут сессией keep-alive. Поэтому мне нужно сделать запрос AJAX на сервер без сброса таймера тайм-аута сеанса для пользователя.

ответ

1

Я считаю, что cherrypy использует время истечения срока действия в файле cookie с ключом session_id. Мой говорит:

Wed 22 Jan 2014 03:44:31 PM EST 

Вы можете продлить срок действия с помощью своего набора условий и отредактировать файл cookie сеанса.

EDIT: Вы также должны продлить время ожидания сервера ...

cherrypy.request.config.update({'tools.sessions.timeout': 60}) 

https://groups.google.com/forum/#!topic/cherrypy-users/2yrG79QoYFQ

Надеется, что это помогает!

+0

Да истечение срока действия находится в файле cookie .. http://docs.cherrypy.org/dev/refman/lib/sessions.html#cherrypy.lib.sessions.expire –

+0

Это помогает, но не относится к точке 2 : предотвращение сброса таймаута. Если вы не говорите, что явное определение времени истечения срока действия ключа session_id в возвращаемом cookie изменит тайм-аут? Итак, если бы я хотел, чтобы у кого-то был дополнительный длительный тайм-аут, я мог бы просто установить это на какое-то большое будущее значение после каждого звонка? – ibrewster

+1

Это правильно. Продление срока действия файла cookie продлит срок действия данных сеанса на стороне сервера. –

0

Вам необходимо подклассифицировать сеанс и добавить к нему функцию «статистики» и флаг, чтобы предотвратить сохранение в обработчике запросов «статистика» сеанса. Или отключите сеансы в config для пути «stats» и загрузите информацию об опыте загрузки непосредственно из вашего хранилища, не используя обычный класс сеанса.

 Смежные вопросы

  • Нет связанных вопросов^_^