小编jac*_*cob的帖子

什么MIN/MAX值适用于ZonedDateTime和Instant.toEpochMilli?

我想使用可以在ZonedDateTime和之间进行转换的MIN/MAX时间值Instant.toEpochMilli(),以用作过滤器/查询的标记值.

我试过了:

OffsetDateTime.MIN.toInstant().toEpochMilli();
OffsetDateTime.MAX.toInstant().toEpochMilli();
Run Code Online (Sandbox Code Playgroud)

但我得到这个例外:

java.lang.ArithmeticException: long overflow

    at java.lang.Math.multiplyExact(Math.java:892)
    at java.time.Instant.toEpochMilli(Instant.java:1237)
Run Code Online (Sandbox Code Playgroud)

然后我尝试了这个:

ZonedDateTime.ofInstant(Instant.MIN, ZoneId.systemDefault());
ZonedDateTime.ofInstant(Instant.MAX, ZoneId.systemDefault());
Run Code Online (Sandbox Code Playgroud)

但后来我得到了这个例外:

java.time.DateTimeException: Invalid value for Year (valid values -999999999 - 999999999): -1000000001

    at java.time.temporal.ValueRange.checkValidIntValue(ValueRange.java:330)
    at java.time.temporal.ChronoField.checkValidIntValue(ChronoField.java:722)
    at java.time.LocalDate.ofEpochDay(LocalDate.java:341)
    at java.time.LocalDateTime.ofEpochSecond(LocalDateTime.java:422)
    at java.time.ZonedDateTime.create(ZonedDateTime.java:456)
    at java.time.ZonedDateTime.ofInstant(ZonedDateTime.java:409)
Run Code Online (Sandbox Code Playgroud)

我也试过'Z' ZoneId:

ZonedDateTime.ofInstant(Instant.MIN, ZoneId.of("Z"))
Run Code Online (Sandbox Code Playgroud)

但是返回与最后一个相同的异常.

最后我尝试了以下,它似乎工作:

ZonedDateTime.ofInstant(Instant.EPOCH, ZoneId.of("Z"));
ZonedDateTime.ofInstant(Instant.EPOCH.plusMillis(Long.MAX_VALUE), ZoneId.of("Z"));
Run Code Online (Sandbox Code Playgroud)

这是最好的解决方案吗?

java java-8 java-time

13
推荐指数
1
解决办法
4492
查看次数

App Engine数据存储区索引:条目计数空白?

在Google App Engine管理控制台中的数据存储区索引下,我的所有索引都列为"服务".但是,它们中的许多在索引条目计数和索引存储列中都是空白的.然而,这些相同的索引在"数据存储统计"页面上具有指定的大小.这是什么意思呢?

谢谢.

google-app-engine google-cloud-datastore

9
推荐指数
1
解决办法
585
查看次数

有没有办法预先查找相关的字段模型?

我正在为特定模型公开API,并希望序列化它的一些相关字段.这些相关字段通常是重复的,我不想为每个相关的字段序列化进行大量的数据库查询.有没有一种简单的方法来预先查询所有相关的实例,然后让RelatedField序列化程序在字典中查找它?或者可能从ModelSerializer中指定相关字段?

django-rest-framework

7
推荐指数
1
解决办法
2081
查看次数

每次用户登录时更改TokenAuthentication的令牌

我想在每次用户登录时撤销先前令牌.这意味着生成新令牌(或者至少更改现有模型实体的密钥).这听起来很简单,但在DRF文档中,我没有看到任何提及这种情况.文档似乎假设令牌始终保持不变.这只是一个简单的案例,还是我错过了什么?我的问题是:每次用户登录时更改令牌是否有问题?

django-rest-framework

7
推荐指数
1
解决办法
2336
查看次数

如何部署消息排序的pubsub触发云函数?

我想部署一个带有消息排序的 Pubsub 触发的云函数: https://cloud.google.com/pubsub/docs/ordering

gcloud functions deploy没有设置选项的选项--enable-message-orderinghttps ://cloud.google.com/sdk/gcloud/reference/functions/deploy

我应该在部署该函数之前预先创建订阅吗?如果是这样,Cloud Functions 是否有一种众所周知的格式来匹配订阅名称?看起来格式可能是:gcf-{function-name}-{region}-{topic-name},但名称格式似乎也随着时间的推移而改变,例如较旧的部署函数在订阅中没有区域名称。有稳定的方法可以做到这一点吗?

google-cloud-platform google-cloud-pubsub google-cloud-functions

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

如何在太多身份验证失败后锁定IP地址?

在太多身份验证失败后,是否存在锁定IP地址的库存方式?我没有看到内置限制将如何实现这一点,因为限制仅在身份验证和权限成功后启动.

django-rest-framework

5
推荐指数
2
解决办法
1407
查看次数

Firebase 动态链接如何在应用安装后存活下来的理论是什么?

我在 Github 上查看了 Firebase iOS SDK 代码几分钟,但我无法完全整合 Firebase 动态链接如何在应用程序安装中存活下来。似乎它使用了某种类型的指纹识别。我不确定它是否使用:

  • iOS 粘贴板 - 但是当用户在安装前单击链接时,Safari 如何写入该粘贴板?
  • cookie - SDK 是否在安装后读取 cookie,或者在 UIWebview 中将 XmlHttpRequest 发送到 Firebase 服务?
  • 请求 Firebase 服务的 IP 地址和用户代理?
  • 别的????

ios firebase firebase-dynamic-links

5
推荐指数
1
解决办法
997
查看次数

如何根据请求捆绑 Cloud Logging 条目?

我尝试让 Cloud Logging 按 Cloud Logs Explorer 中的请求捆绑(即分组)日志条目,类似于 node-js-logging-winston 在 Cloud Functions Node 运行时上所做的操作:https: //github.com/ googleapis/nodejs-logging-winston#using-as-an-express-middleware 这也是 App Engine 自动执行的操作。

以下博客中提供了如何使用 Python 和 Flask 完成此操作的一般说明: https://medium.com/google-cloud/combining-corlated-log-lines-in-google-stackdriver-dd23284aeb29

这是日志资源管理器中的屏幕截图。

在此输入图像描述

这是一个应该执行此操作的脚本,但条目未按请求分组。


import argparse
import datetime
import time
import uuid

from google.cloud import logging


def _log_timestamp():
    return datetime.datetime.now(datetime.timezone.utc)


def _log_trace_id():
    return uuid.uuid4().hex


def _log_request_time(request_start_time):
    return "%.5fs" % (time.time() - request_start_time)


def run(project_id):
    request_start_time = time.time()
    trace_id = _log_trace_id()

    client = logging.Client(project=project_id)

    app_logger = client.logger('child')
    app_logger.log_struct(
        {"message": 'app log entry # 1'},
        severity='INFO',
        trace=f'projects/{project_id}/traces/{trace_id}',
        timestamp=_log_timestamp() …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-cloud-logging

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

如何将CompletableFuture.supplyAsync与PriorityBlockingQueue一起使用?

我正在尝试通过CompletableFuture.supplyAsync将优先级队列添加到使用ThreadPoolExecutor和LinkedBlockingQueue的现有应用程序.问题是我无法想出一个设计来分配我可以在PriorityBlockingQueue的Comparator中访问的任务优先级.这是因为我的任务被CompletableFuture包装到一个名为AsyncSupply的私有内部类的实例中,该实例隐藏了私有字段中的原始任务.然后使用这些AsteSupply对象作为Runnables调用Comparator,如下所示:

public class PriorityComparator<T extends Runnable> implements Comparator<T> {

    @Override
    public int compare(T o1, T o2) {

        // T is an AsyncSupply object.
        // BUT I WANT SOMETHING I CAN ASSIGN PRIORITIES TOO!
        return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

我调查了扩展CompletableFuture的可能性,因此我可以将它包装在一个不同的对象中,但很多CompletableFuture被封装且不可用.因此,扩展它似乎不是一种选择.也没有用适配器封装它,因为它实现了非常宽的接口.

除了复制整个CompletableFuture并修改它之外,我不确定如何解决这个问题.有任何想法吗?

java executorservice threadpoolexecutor java-threads completable-future

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

模拟异步处理请求

我想实现一些现有的DRF API方法(尤其是列表方法)的异步版本,这可能需要很长时间。我的想法是捕获经过身份验证的用户ID,他要执行什么方法以及查询字符串;然后将任务排队以运行该方法。似乎最简单的事情是任务处理程序为实际的API方法创建模拟请求,然后将结果存储在某个地方,以供轮询处理程序读取。

我的问题是:如何有效地创建模拟Django请求(包括用户和查询字符串),然后将其用于直接创建视图集或将请求分派到适当的url路径?从API的角度来看,Django测试客户端实际上似乎很适合我的意图,但是我不确定在生产环境中使用它是否是件好事?

谢谢。

django django-rest-framework

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

如何在重新启动之间保留 PubSub 模拟器主题/订阅

每次我重新启动 PubSub 模拟器时,主题/订阅都会消失。目前,我有一个脚本,可以在每次模拟器启动时创建主题和订阅:

/sf/answers/3989591651/

这种状态不持续吗?有没有办法持久化状态?

google-cloud-platform google-cloud-pubsub google-cloud-pubsub-emulator

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