Added frappe --clear_all_sessions
This commit is contained in:
parent
96087e318b
commit
bc14dee451
2 changed files with 17 additions and 2 deletions
|
|
@ -232,6 +232,8 @@ def setup_utilities(parser):
|
|||
help="Clear cache, doctype cache and defaults")
|
||||
parser.add_argument("--reset_perms", default=False, action="store_true",
|
||||
help="Reset permissions for all doctypes")
|
||||
parser.add_argument("--clear_all_sessions", default=False, action="store_true",
|
||||
help="Clear sessions of all users (logs them out)")
|
||||
|
||||
# scheduler
|
||||
parser.add_argument("--run_scheduler", default=False, action="store_true",
|
||||
|
|
@ -501,6 +503,14 @@ def clear_web():
|
|||
frappe.website.render.clear_cache()
|
||||
frappe.destroy()
|
||||
|
||||
@cmd
|
||||
def clear_all_sessions():
|
||||
import frappe.sessions
|
||||
frappe.connect()
|
||||
frappe.sessions.clear_all_sessions()
|
||||
frappe.db.commit()
|
||||
frappe.destroy()
|
||||
|
||||
@cmd
|
||||
def build_sitemap():
|
||||
from frappe.website import rebuild_config
|
||||
|
|
|
|||
|
|
@ -71,13 +71,18 @@ def clear_sessions(user=None, keep_current=False):
|
|||
if keep_current and frappe.session.sid==sid[0]:
|
||||
continue
|
||||
else:
|
||||
frappe.cache().delete_value("session:" + sid[0])
|
||||
frappe.db.sql("""delete from tabSessions where sid=%s""", (sid[0],))
|
||||
delete_session(sid[0])
|
||||
|
||||
def delete_session(sid=None):
|
||||
frappe.cache().delete_value("session:" + sid)
|
||||
frappe.db.sql("""delete from tabSessions where sid=%s""", sid)
|
||||
|
||||
def clear_all_sessions():
|
||||
"""This effectively logs out all users"""
|
||||
frappe.only_for("Administrator")
|
||||
for sid in frappe.db.sql_list("select sid from `tabSessions`"):
|
||||
delete_session(sid)
|
||||
|
||||
def get():
|
||||
"""get session boot info"""
|
||||
from frappe.core.doctype.notification_count.notification_count import \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue