小编Mar*_*hoh的帖子

使用测量协议将事件发送到 Google Analytics 4 时,client_id 应该是什么?

我在客户端上使用 Google Analytics 4 (GA4) 来跟踪一大堆不同的事件。但是,有两种情况我无法涵盖客户端:

  1. 用户在第三方(本例中为 Stripe)托管的支付页面上完成结账。
  2. 由支持团队退款。

这些事件由服务器使用 Webhooks 处理。对我来说,最直接的解决方案似乎是让服务器将事件发送到 GA4(而不是客户端发送事件)。我相信Measurement Protocol应该用于此目的。

对于通过Measurement Protocola提交的每个事件client_id提交的每个事件,a是必需的。当客户端提交事件时,这是一个自动生成的 ID,用于跟踪特定设备。

因此我的问题是,应该做什么client_id在服务器端提交事件时应该是什么?

是否应该对所有事件使用相同的方法client_id,以便将服务器识别为一台设备?我读过一些人建议为client_id每个事件使用随机生成的,但这会导致每个服务器端事件都识别出一个新用户......


编辑:答案之一建议使用client_id,它是请求的一部分作为 cookie。但是,对于上面给出的两个示例,此 cookie 不存在,因为请求是由第三方 Webhook 而不是用户发出的。

我当然可以将其存储client_id在数据库中,但第二个示例中的退款是由支持团队提供的。client_id因此,从概念上讲,将该事件与用户的事件关联起来感觉很奇怪client_id只是识别用户设备的一种方式?即,不是用户的设备触发了此处的退款事件。

另一个退款事件示例是当用户 A 与用户 B 进行购买并且用户 B 一周后对该购买进行退款时。那么这种情况下,应该client_id是用户A的还是用户B的呢?同样,在这里使用存储感觉很奇怪client_id。因为,如果用户 A 在两个设备上登录怎么办?client_id那么这里应该使用哪个呢?

google-analytics google-tag-manager measurement-protocol google-analytics-4

27
推荐指数
1
解决办法
7121
查看次数

Python 多处理池:maxtasksperchild

我一直在涉足 Python 的多处理库,虽然它提供了一个非常容易使用的 API,但它的文档并不总是很清楚。特别是,我发现传递给 Pool 类实例的参数“maxtasksperchild”非常令人困惑。

以下内容直接来自 Python 的文档 (3.7.2):

maxtasksperchild是工作进程在退出并被新工作进程替换之前可以完成的任务数,以释放未使用的资源。默认的 maxtasksperchild 是 None,这意味着工作进程将与池一样长。

以上对我提出的问题比它回答的要多。工作进程与池一样长是否有害?是什么让工作进程“新鲜”,什么时候需要?一般来说,什么时候应该明确设置 maxtasksperchild 的值而不是让它默认为“无”,以及为了最大化处理速度而被认为是最佳实践?

@Darkonaut 关于 chunksize 的惊人答案中,我现在了解了 chunksize 的作用和代表。由于为 chunksize 提供值会影响“任务”的数量,我想知道是否应该考虑它们的依赖性以确保最大性能?

谢谢!

python pool multiprocessing python-multiprocessing

8
推荐指数
1
解决办法
4572
查看次数

Stripe:transfer_group 的具体功能是什么?

我熟悉 Stripe 网站上有关该transfer_group房产的文档:传输选项。然而,我发现这个文档相当有限,而且我仍然不确定它到底是做什么的。

我期望发生的事情之一是,费用和相关的转账以某种方式在 Stripe 仪表板上组合在一起。但事实似乎并非如此。

因此我的问题是,transfer_group属性到底有什么作用以及为什么要使用它?

编辑:我现在发现它有一些用处。它可以通过以下方式使用:

const transfers = await stripe.transfers.list({
    transfer_group: bookingId
})
Run Code Online (Sandbox Code Playgroud)

transfers这将返回与该相关的所有内容transfer_group。然后他们的 id 可用于创建transfer_reversals例如

请注意,我不将这一发现视为答案的原因是因为这肯定还有更多内容(我认为)。

stripe-payments

6
推荐指数
1
解决办法
1922
查看次数

VSCode 在 jsconfig.js 中抱怨找不到 node_modules/source-map/source-map

请参阅以下错误和 jsconfig.json 文件内容: VSCode jsconfig.js 错误

我不知道问题是什么......错误所指的“源映射”文件确实存在于给定的路径中。

请注意,一切正常且符合预期,因此该错误似乎不会导致任何问题。

非常感谢任何帮助或建议。

谢谢!

visual-studio-code

4
推荐指数
1
解决办法
816
查看次数

create-react-app:使用代理进行 Jest 测试

我想使用实际的 API 进行 React Jest 测试。因为测试环境是JSDom,所以无法进行跨域请求。在开发中,通过在 package.json 文件中指定代理可以轻松解决此问题,但这不适用于运行的测试套件:npm test

我知道在创建新的 JSDom 实例时可以指定代理(请参阅文档):

const resourceLoader = new jsdom.ResourceLoader({
  proxy: "http://127.0.0.1:9001",
});
Run Code Online (Sandbox Code Playgroud)

现在我找不到在我的应用程序中使用它的方法,该应用程序是使用 create-react-app (CRA) 创建的...所以我的问题是,在通过 CRA 应用程序运行 Jest 时是否有某种方法可以指定代理?

谢谢!

proxy jsdom jestjs create-react-app

3
推荐指数
1
解决办法
2561
查看次数

如何设置 Tensorflow 变量的边界和约束 (tf.Variable)

我正在使用 Tensorflow 来最小化函数。该函数需要大约 10 个参数。每个参数都有界限,例如参数允许采用的最小值和最大值。例如,参数 x1 需要在 1 到 10 之间。

我还有一对参数需要具有以下约束 x2 > x3。换句话说,x2 必须始终大于 x3。(除此之外,x2 和 x3 也有界限,与上面 x1 的示例类似。)

我知道 tf.Variable 有一个“约束”参数,但是我找不到任何关于如何使用它来实现上述边界和约束的示例或文档。

谢谢你!

tensorflow tensorflow2.0

2
推荐指数
1
解决办法
3285
查看次数