小编Ego*_*son的帖子

SQL Server最终尝试捕获

我有一个场景,我需要类似的东西 .NET's try-catch-finally block.

在我的尝试,我会CREATE a #temp table,INSERT数据,将其与过程中的其他数据集的基础上#temp.

CATCH随后RAISERROR.有可能有FINALLYDROP #temp吗?下面是伪代码:

BEGIN TRY

  CREATE TABLE #temp
  (
     --columns
  )
  --Process data with other data sets

END TRY
BEGIN CATCH

  EXECUTE usp_getErrorMessage

END CATCH
BEGIN FINALLY

  DROP TABLE #temp

END FINALLY
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

30
推荐指数
4
解决办法
4万
查看次数

滚动更新期间,Kubernetes 不会等待所有 Websocket 连接关闭才终止

我试图在使用 EKS(AWS K8s 服务)进行滚动更新期间实现 0 停机时间。

我有一台 WebSocket 服务器,我想确保在该服务器的滚动更新期间,将保留现有连接,直到工作完成后关闭 WebSocket。

我以为 K8s 滚动更新功能可以帮助我解决这个问题,但事实并非如此。我尝试过,它只是在仍然与 WebSocket 连接的情况下杀死了 pod。

如果我正确理解该文档,那么 pod 终止将如下所示:

  1. 用户向 K8s API 发送 pod 删除信号
  2. K8s 停止将新流量路由到该 pod 并发送 SIGTERM 信号
  3. grace-period应用程序必须处理此信号并在指定的时间内(默认为 30 秒)启动自身的优雅终止
  4. 之后,K8s 发送 SIGKILL 信号强制终止 pod。

如果我的上述理解是正确的,显然没有办法告诉 K8s:

  1. 不要中断当前连接
  2. 让它们根据需要运行(它们最终会关闭,但周期差异很大)
  3. 所有连接关闭后,终止 pod

问题:有什么方法可以确保 K8s:

  1. 不中断 WebSocket 连接
  2. 不强制应用程序终止特定的连接grace-period
  3. 检测所有 WebSocket 连接何时关闭并终止 pod

如果有人可以帮助我,我将不胜感激。

websocket kubernetes

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

可以从 Firestore 快照 Flutter 获取元数据吗?

我需要获取snapshot元数据,以便检查写入 Firestore 是否成功。我查看源代码 ,发现有SnapshotMetadata和 boolean hasPendingWrites()。但我找不到如何实施。没有开源 dart 项目使用过它。

Firebase文档说可以使用:.onSnapshot/.addSnapshotListener来指定includeMetadataChanges: true

但我需要确保在查询QuerySnapshot. 我用的query不是。streamaddSnapshotListener

像这样:

        child: new FirestoreAnimatedList(
          query: Firestore.instance.collection('Collection')
              .orderBy('timestamp', descending: true)
              .snapshots(),
          padding: new EdgeInsets.all(8.0),
          reverse: true,
          itemBuilder: (_, DocumentSnapshot snapshot,
              Animation<double> animation, int x) {
            return new Chat(
                snapshot: snapshot, animation: animation);
          },
        ),
Run Code Online (Sandbox Code Playgroud)

我尝试指定:

          query: Firestore.instance.collection('Collection')
              .snapshots(includeMetadataChanges: true),
Run Code Online (Sandbox Code Playgroud)

但这是不可能的:

错误:未定义命名参数“includeMetadataChanges”。

我也尝试:

snapshot.getMetadata().hasPendingWrites()
Run Code Online (Sandbox Code Playgroud)

但给出错误:

错误:未为类“DocumentSnapshot”定义方法“getMetaData”。

有谁知道在 Flutter 中如何做到这一点?有可能吗?

我尝试了很长时间但找不到如何..帮助! …

dart firebase google-cloud-platform flutter google-cloud-firestore

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

FFmpeg 过滤器图描述清晰

我正在使用 libavfilter C API 来缩放我的视频。

我开始阅读与 libavfilter 相关的文档并陷入Filtergraph-description

我不明白“过滤垫”这个术语。在整个文档中,我遇到了过滤器输入板和输出板等术语。

如果有人以简单的方式解释过滤垫,那将非常感激。另请分享与 libavfilter C API 示例相关的任何文档或链接。

ffmpeg libav

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