问题标签 [fire-and-forget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

c# - QueueBackgroundWorkItem (Action) 之间的区别) 和 QueueBackgroundWorkItem (Func)

我正在寻找一种在 Asp.Net 中发送后台电子邮件而不必完全等待它们的方法,并遇到了“HostingEnvironment.QueueBackgroundWorkItem”方法。我注意到有两种类型的重载:QueueBackgroundWorkItem (Action) 和 QueueBackgroundWorkItem (Func <CancellationToken, Task>),但老实说我不明白其中的区别。如果有人知道的话,可以向我解释一下区别,非常感谢。

0 投票
2 回答
172 浏览

c# - 如何防止应用程序在完成所有即发即弃的任务之前终止?

我有一个应用程序定期启动即发即弃任务,主要用于记录目的,我的问题是当应用程序关闭时,任何当前正在运行的即发即弃任务都会中止。我想防止这种情况发生,所以我正在寻找一种机制,允许我await在关闭我的应用程序之前完成所有正在运行的即发即弃操作。我不想处理他们可能出现的异常,我不在乎这些。我只是想让他们有机会完成(可能会超时,但这不是问题的一部分)。

你可能会争辩说,这个要求使我的任务不是真正的一劳永逸,这有一些道理,所以我想澄清这一点:

  1. 这些任务在本地是一劳永逸的,因为启动它们的方法对它们的结果不感兴趣。
  2. 这些任务不是全局性的,因为整个应用程序都关心它们。

这是该问题的最小演示:

输出:

和条目没有被记录,因为应用程序提前终止,并且挂起的任务被中止"CleanUp completed""Finished"有什么方法可以在关闭前等待他们完成吗?

顺便说一句,这个问题的灵感来自@SHAFEESPS最近提出的一个问题,遗憾的是,该问题因不清楚而被关闭。

澄清:上面给出的最小示例包含一种类型的即发即弃操作,即Task Log方法。现实世界应用程序发起的即发即弃操作是多种多样的。有些甚至返回通用任务,例如Task<string>or Task<int>

一个即发即弃的任务也有可能触发次要的即发即弃任务,这些任务也应该被允许启动并被等待。

0 投票
1 回答
52 浏览

c# - 如何以 Fire-And-Forget 的形式调用委托调用

我有一个能够报告其进度的 .NET Standard 库。我希望程序在进度报告方法完成之前不要阻塞。相反,我想要一个即发即弃的模式,工作可以在里面继续DoWork()

到目前为止,我已经把分配给 ReportProgress 的方法体作为一个要求,它必须快速执行。但是如果有一个好的编码解决方案,我不想依赖需求。

有可能将 ReportProgress 的调用包装在一个新线程中,但这似乎效率低下 - 这将产生 1000 个线程。

这个问题表明我应该以某种方式在我的类中公开一个 ThreadPool,但我不确定这是否有意义: 在 C# 中执行火灾并忘记方法的最简单方法?

您将如何处理这种情况?

编辑: 我相信班级的用户是这样使用它的。请注意,远程数据库的更新可能很慢。这个客户是我需要重新考虑结构的原因。

0 投票
1 回答
75 浏览

android - Rxjava 一次性使用 Fire and Forget API 调用

进行了 Fire and Forget API 调用,并将其一次性添加到 compositeDisposable。我们不处理任何结果。我们只需要在一个动作上更新服务器。调用完成后,在 Fragment 的 OnDestroy 中,我们正在处理复合一次性。如果 API 调用在应用端调用完成(在 subscribe 方法中接收)之前被处理,API 调用是成功还是失败(在服务器端)?

0 投票
1 回答
208 浏览

dask - 带有上下文管理器的 dask 集群

考虑这样一个简单的工作流程:

由于上下文管理器将关闭,上述代码将提交并几乎立即取消期货。可以在使用 完成任务之前保持上下文管理器打开client.gather,但这将阻止当前进程中的进一步执行。

我有兴趣在同一个进程中向多个集群(例如本地和分布式)提交任务,最好不要阻塞当前进程。明确定义不同的客户端和集群很简单,但是上下文管理器(每个唯一的客户端/集群一个)也可以吗?

这听起来有点像反模式,但也许只有在计算所有期货运行后才能关闭集群。我试过fire_and_forget也试过 pass shutdown_on_close=False,但这似乎没有实现。

0 投票
4 回答
1078 浏览

go - 火而忘记 goroutine golang

我编写了一个 API,可以进行 DB 调用并执行一些业务逻辑。我正在调用一个必须在后台执行某些操作的 goroutine。由于 API 调用不应该等待这个后台任务完成,所以我在调用 goroutine 后立即返回 200 OK(让我们假设后台任务永远不会给出任何错误。)

我读到 goroutine 将在 goroutine 完成其任务后终止。这种火灾和遗忘方式对 goroutine 泄漏安全吗?goroutine 在执行工作后是否会被终止并清理?

0 投票
0 回答
19 浏览

python - 关于在 Python 中进行并行触发和忘记函数调用的任何建议?

我来自工作流自动化背景,正在寻找一些关于在 Python 中进行并行触发和忘记函数调用的建议。

想要实现这样的目标:

do_heavy_processing_for_student是一个函数,它接受一个student_id并进行一些非常繁重的处理。由于可能有 100 或 1000 名学生,因此不想在顺序模式下进行。

0 投票
0 回答
22 浏览

spring - Java RSocket Fire And Forget 的位置将 Payload 发送到其他连接客户端

我让一些项目使用 RSocket,我参考了那个帖子,我想知道实现代码在哪里将消息发送到其他客户端逻辑。

我的项目链接 我搜索文档,发布......但没有信息:((

0 投票
1 回答
104 浏览

apache-kafka - Fire And Forget vs Publish 订阅

我知道 Fire And Forget 是一种让您在消息队列中添加消息而不等待确认的模式。另外,我知道 Pub/Sub 是一种发布者将发布而订阅者将使用数据的模式。消息队列(Kafka)中的这两种模式有什么区别?

0 投票
1 回答
182 浏览

apache-kafka - apache kafka vs redis 作为生产中的消息代理

我想使用 redis 作为我的提交和推送数据管道,而不是 kafka,因为它的速度和性能是“一劳永逸”策略的结果。如果我需要速度和数据安全怎么办?有没有人设法在不丢失数据的情况下使用redis?