gpt4 book ai didi

mysql - Rails 4 - 如何跟踪用户的事件并且不使应用程序 + MySQL 数据库重载?

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:13 24 4
gpt4 key购买 nike

我想实现一个跟踪系统来监控用户在应用程序中的事件。该应用程序目前在工作时间内由大约 600-2000 名用户使用。

我最初想在 ApplicationController 中使用 before_filter,每次用户单击链接时,我都会保存用户/管理员 ID 等信息,params[:controller], params[:action] 和其他数据库操作参数。 (我知道像 audited 这样的 gem - 但不确定我是否使用它们)。

但是我想知道当系统内的每次点击都将调用数据库以向其中插入一些数据时,我是否基本上不终止该应用程序。

我正在考虑使用后台方法 ( sidekiq ) 将操作记录到数据库中。

最佳答案

基本上:

class ApplicationController
before_filter :log_request

def log_request
RequestLogger.perform_async(params[:controller], params[:action], current_user.id)
end
end

class RequestLogger
include Sidekiq::Worker
def perform(controller, action, user_id)
# Save data to the database
end
end

或多或少。

关于mysql - Rails 4 - 如何跟踪用户的事件并且不使应用程序 + MySQL 数据库重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35685893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com