Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >推荐点击/事件跟踪机制(python、django、celery、mongo等)

推荐点击/事件跟踪机制(python、django、celery、mongo等)
EN

Stack Overflow用户
提问于 2010-07-16 16:40:57
回答 3查看 3.2K关注 0票数 7

我正在寻找在django应用程序中跟踪事件的方法(事件通常是与特定的唯一用户id相关的点击)。

这些事件本质上包含一个类似" click“的事件类型,然后每个click事件都会被分配给一个唯一的id (许多事件可以使用一个id),并且每个事件都会有一个数据集,其中包括referrer等项目。

我已经尝试过mixpanel,但现在他们提供的数据api似乎太有限了,因为我似乎找不到一种方法来通过一个唯一的id (除了事件本身)来获取我所有的数据。

我正在考虑使用django-eventracker,但也很好奇是否有人想过最好的办法。mongo或CouchDb似乎是一个很好的选择,但芹菜/rabbitmq看起来与Mongo非常吸引人。在这一点上,将这些事件注入到现有应用db中似乎是有限的。

无论如何,这只是一个线索,看看其他人对此有什么想法,以及他们是如何实现这样的东西的……

拍摄

EN

回答 3

Stack Overflow用户

发布于 2010-07-16 16:50:18

如果我从头开始设计,我将有一个简单的JS收集有关点击的信息,并通过Ajax (使用您已经使用的任何JS框架)将其发送回服务器,而在服务器端,我只需将该信息附加到一个日志文件中,以便稍后进行“脱机”处理--因此,本质上这将独立于django或其他服务器端框架。

添加到日志文件是一个非常轻量级的操作,而web使用的数据库通常是针对读密集型(而不是写密集型)操作进行优化的,所以我同意您的观点,强制将信息(当它慢慢进入)放入现有应用的DB中不太可能提供良好的性能。

票数 3
EN

Stack Overflow用户

发布于 2010-07-16 19:17:43

您可能希望为日志保留一种灵活的格式,以预测未来的需求或更改。从这个意义上说,无模式的面向文档的数据库很好。一个优点是,无论您稍后执行什么分析,您的数据结构都将接近您的应用程序的需求(因此,避免了一些不可避免的解析/数据转换工作)。

如果你正在考虑使用mysql,postgresql或类似的东西,那么你应该考虑像rsyslog这样的东西来缓冲写操作,避免繁重的日志记录带来的性能损失。(我不能说太多关于芹菜和这类东西的其他排队机制,但它们听起来很有希望。)

Mongodb有一些很好的特性,可以让它适应日志记录,比如capped collections。摘要可以在this post中找到。

票数 2
EN

Stack Overflow用户

发布于 2010-07-16 17:30:35

如果单击是指单击加载新页面(或执行AJAX请求)的链接,那么您的目标相当简单。Web服务器倾向于保存有关请求的纯文本日志--包括用户、时间/日期、推荐人、请求的页面等信息。您可以检查这些日志并挖掘所需的统计信息。

另一方面,如果你有一个点击不一定会产生服务器请求的web应用程序,那么用javascript收集点击信息是你最好的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3267081

复制
相关文章
Spring Cloud Task 核心组件-Task Application
Spring Cloud Task是Spring Cloud生态系统中的一个重要组件,用于支持有状态的短暂任务的开发和执行。
堕落飞鸟
2023/04/16
6111
Spring Cloud Task 核心组件-Task Repository
Spring Cloud Task是一个用于构建简单任务的框架。它提供了Task Application、Task Launcher和Task Repository三个核心组件,分别用于定义和执行任务、启动和管理任务、以及存储任务相关的元数据和状态信息。其中,Task Repository是Spring Cloud Task的核心组件之一,它负责管理和存储任务相关的数据。
堕落飞鸟
2023/04/16
2880
【C# 基础精讲】Task和Task<T>的应用
当涉及异步编程时,Task 和 Task<T> 是C#中的重要概念。它们不仅是处理异步操作的关键类型,还提供了一些强大的功能和方法,使异步编程更加高效和灵活。在本文中,我们将深入探讨 Task 和 Task<T> 的应用,从创建、执行、等待到取消和异常处理等方面进行详细讨论,帮助您更好地理解如何在C#中应用这些类型。
繁依Fanyi
2023/10/12
7310
【C# 基础精讲】Task和Task<T>的应用
Spring Cloud Task 核心组件-Task Launcher
Spring Cloud Task是一个用于快速创建和执行短暂任务的框架。Task Launcher是Spring Cloud Task的另一个核心组件,它可以帮助我们在多个环境中部署和执行Task Application。
堕落飞鸟
2023/04/16
7941
Spring Cloud Task 核心组件-Task Explorer
在使用Spring Cloud Task时,我们通常需要查看已经执行的任务以及任务的执行状态等信息。而Task Explorer正是为我们提供了这些信息的组件。
堕落飞鸟
2023/04/16
5610
Spring Cloud Task 核心组件-Task Execution Listener
Spring Cloud Task是一个用于构建简单任务的框架。它提供了Task Application、Task Launcher、Task Repository等多个核心组件,分别用于定义和执行任务、启动和管理任务、以及存储任务相关的元数据和状态信息。其中,Task Execution Listener是Spring Cloud Task的核心组件之一,它用于监控和管理任务的执行过程。
堕落飞鸟
2023/04/16
6301
C++核心准则T.65:使用标签分发提供函数的不同实现
T.65: Use tag dispatch to provide alternative implementations of a function
面向对象思考
2020/09/21
1K0
C++核心准则T.64​:使用特化提供类模板的不同实现
T.64: Use specialization to provide alternative implementations of class templates
面向对象思考
2020/09/21
6740
Task和backStack(本篇章核心)
摘要总结:通过分析Task和backStack的关系,可以得出一个task内可以有多个Activity,一个Task也可以对应多个Process。同时,通过adb shell dumpsys activity命令可以观察到,一个Task内的Activity可以属于同一个App,也可以属于不同的App。通过学习源码,可以发现,在ActivityManagerService中,Task被封装成TaskRecord对象,每个Task对应一个TaskStack,每个TaskStack包含一个mHistory Stack。在mHistory Stack中,每个元素都是一个ActivityRecord对象,ActivityRecord对象通过TaskRecord与对应的Task关联,通过Activity info与对应的Activity关联。同时,同一个Task内的ActivityRecord在mHistory中会按照先入先出的顺序进行排序。
梦里茶
2017/12/29
5740
Task和backStack(本篇章核心)
T-SQL取时间的不同方法
超级实用的T-SQL取时间的不同方法 CONVERT(nvarchar(10),count_time,121): CONVERT为日期转换函数,一般就是在时间类型 (datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式,具体如下: 0 | 0 or 100 | mon dd yyyy hh:miAM(或PM) 1 | 101 |
用户1719978
2018/07/05
5970
T24银行核心业务系统
http://www.pianshen.com/article/8248107255/
全栈程序员站长
2022/09/20
1.2K0
通过JavaScript实现HTTP到HTTPS的强制跳转 By HKL,
最近通过一些在线文件云空间测试云存储部署静态网站遇到HTTP到HTTPS的强制跳转的问题,平时通过nginx配置是比较简单实现的, 但是例如七牛云虽然可以设置HTTPS访问,但是不支持设置HTTP到HTTPS的强制跳转, 解决方法可以是先通过设置HSTS,通过浏览器级的强制跳转实现,但是本方法只能在webkit内核的浏览器上生效,而且由一定的时间差, 所以最后寻找到通过前端JavaScript脚本实现HTTP到HTTPS的强制跳转,代码如下
hiplon
2020/07/22
1.8K0
阻塞队列的核心方法&对阻塞的不同处理
阻塞队列,顾名思义,首先它是一个队列,而一个阻塞队列在数据结构中所起的作用大致如下图所示:
名字是乱打的
2022/05/13
6920
阻塞队列的核心方法&对阻塞的不同处理
从T+1到T+0,浅谈PetaBase的实时流式处理
随着互联网+的进一步发展,各行业对大数据技术的应用日趋成熟,企业的信息化范围正在高速扩展。
数据狗忙忙忙
2019/08/13
2.5K0
从T+1到T+0,浅谈PetaBase的实时流式处理
【leetcode刷题】T156-不同路径
https://leetcode-cn.com/problems/unique-paths/
木又AI帮
2019/09/03
2940
PHP实现根据请求的域名跳转到不同目录 By HKL, T
使用一些PHP虚拟主机的时候,多个域名绑定到同一空间下,但是希望不同域名能通过不同目录实现访问不同网站的效果:
hiplon
2020/07/22
2.3K0
Locust性能测试工具核心技术@task和@events
Tasks和Events是Locust性能测试工具的核心技术,有了它们,Locust才能称得上是一个性能工具。
dongfanger
2021/06/10
4590
生成代码,从 T 到 T1, T2, Tn —— 自动生成多个类型的泛型
发布于 2018-01-31 05:38 更新于 2018-05-25 12:33
walterlv
2018/09/18
1.4K0
生成代码,从 T 到 T1, T2, Tn —— 自动生成多个类型的泛型
从1.6T光模块到51.2T交换芯片,寡头的狂欢!
400G网络设备产业现状:完结篇 800G网络设备产业现状:技术篇 800G网络设备产业现状:芯片篇 800G网络设备产业现状:思科篇 800G网络设备产业现状:光模块篇 当诺基亚这种老厂 都说400G已经到了拐点 那就代表400G已经是池中物 因此在早前 结束的OFC2021 800G技术成为国内外 各大光模块厂商的主战场 华安证券 在会议结束后推出的 通信行业周报对800G现状 做了一个简单明了的梳理总结 除了高端光模块 相关产业链的进展 报告将重心放在数据中心 因为以太网光模块将占
用户6874558
2023/02/15
1.2K0
从1.6T光模块到51.2T交换芯片,寡头的狂欢!
Spark Task 的执行流程② - 创建、分发 Task
task 的创建本应该放在分配 tasks 给 executors一文中进行介绍,但由于创建的过程与分发及之后的反序列化执行关系紧密,我把这一部分内容挪到了本文。
codingforfun
2018/08/24
7250
Spark Task 的执行流程② - 创建、分发 Task

相似问题

await Task<T>和Task<T>.Result有什么不同?

23

IAsyncEnumerable<T>和IEnumerable<Task<T>>有什么不同?

232

ASP.NET核心应用编程接口- ActionResult<T>与异步Task<T>

20

将Task<DbSet<T>>转换为Task<IEnumerable<T>>

36

不等待从EF核心查询返回Task<IReadOnlyCollection<T>>?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档