问题标签 [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 回答
106 浏览

vb.net - 使用 vb.net 获取和忘记 URL

我想使用 vb.net 创建 get and forget Url。基本上我会推送一个 url(只是从 url 获得响应,而不是在浏览器中显示/在后台运行)然后忘记。我想在单击按钮时同时推送 10 个 url。这是我的代码,但它仍然一一处理网址。

0 投票
1 回答
119 浏览

vb.net - 使用 VB.NET(获取并忘记)点击 URL

我想使用 vb.net 创建 get and forget Url。基本上我会推送一个 url(只是从 url 获得响应,而不是在浏览器中显示/在后台运行)然后忘记。我想在单击按钮时同时推送 10 个 url。这是我的代码,但它仍然一一处理网址。

我曾尝试使用 Task,但在包含“Imports System.Threading.Tasks”时出现错误,因为我的 .net 框架版本仍然是 3.5。升级我的 .Net 版本是不可能的,所以有人有建议吗?

请让我知道我该怎么做,谢谢之前:)

0 投票
1 回答
741 浏览

c# - 是否可以使用不使用生成的代理/客户端的即发即弃 WCF 服务操作

先决条件

  • 服务项目类型:.net 3.5 类库
  • 服务主机:IIS 7.5 / ASP.NET 兼容模式已开启

为服务定义的单个操作DocumentsServiceUploadDocument(Stream stream),可通过 HTTP(webHttp 绑定)访问。

我试着用它来装饰它[OperationContract(IsOneWay=true)]

另外我注释掉了这些行:

因为我认为它没有用,因为服务本身会设置 200 状态,因为一切都很好。

我没有为服务使用任何生成的WCF客户端。我使用纯ajax请求来提交文件。

问题

这不是一个即发即弃的请求。它是同步和阻塞的。我怎样才能有真正的即发即弃的行动?我可以在没有任何c#代理客户端的情况下使用它吗?

编辑

  1. 我不能使用Task类 - 我绑定到 .net framework 3.5。
  2. 好吧,我有两个部分:上传本身后处理。上传文件时如何链接这些部分或实例化异步后处理?
0 投票
0 回答
134 浏览

c# - IIS 中托管的 WCF Web 服务,为非 .Net 调用者创建 Fire and Forget 方法

我在 IIS 7.5、.Net Framework 4.5.1 中托管了 WCF Web 服务。我需要一个由非.Net 应用程序调用的即发即弃方法(我无法创建.Net 代理)。

这是“真正的一劳永逸”。调用者不关心成功或失败。

是否像将所有代码包装在 Task.Run() 中一样简单?这足够了吗?

0 投票
2 回答
3521 浏览

javascript - ExpressJs(NodeJs) Fire & Forget

我目前正在使用 express js 开发 API。我想编写一个函数,将分析保存在 DB 中,但我应该能够以火灾和忘记的方式调用该函数。该函数应该接受参数并完成它的工作。这应该像一个单独的线程一样工作,并且当前代码执行不应该等待它的响应。例如 Akka Actors 在 Java 中的工作方式。有人可以建议一种方法或一些链接来参考吗?

0 投票
1 回答
654 浏览

oracle - 一种在 EJB 中不等待 JPA 查询结果的方法

我想知道是否有办法不等待ejb中的JPA查询结果我必须调用一个存储过程whit JPA在Oracle数据库上进行一些复杂的处理,我发现javax.ejb.Asynchronous但我不想为那,只需调用并忘记 soretd 程序

纳克斯

0 投票
2 回答
4519 浏览

c# - 使用 Task.Run 的 Fire & Forget 方法不起作用

我阅读了很多试图使用Task.Run但没有成功的代码。

我想要达到的目标:

  • 在 ASP.NET WebForm 事件(单击事件处理程序)中调用 Fire & Forget 方法(不阻止当前的执行流程)。

我尝试过但不明白为什么它不起作用:


第一个版本:


第二版:

所以我调用了 Fire & Forget 方法,它应该在数据库中插入一条记录,但没有插入任何记录。

调用 Fire & Forget 方法之前和之后的插入已完成。

我不知道如何解决我的问题。

0 投票
1 回答
536 浏览

c# - 如何在不影响性能的情况下正确使用火而忘记?

我已经问过这个问题,但没有得到太多回应,而且我得到的那些也没有解决我的问题。所以在这里我试图以不同的方式再次询问。

我有一个项目将产品提要文件处理到我的系统中。对于一个特定的提要文件,整个过程大约需要 40-50 分钟。现在我已经创建了一个WebJob来处理来自提要的图像,并且我正在WebJob通过创建存储客户端将图片 url 从我的第一个项目发送到。当我在我的项目中使用它时,它显着增加了处理时间,所以我尝试将它与Task.Run使用Fire and Forget方法一起使用,但即使现在整个处理时间仍然约为 2 小时。

这是我如何调用创建存储队列的方法。

这是我创建队列消息的代码

我不明白为什么我的处理时间加倍,也找不到解决方法。任何能帮助我解决这个问题的想法都会非常有帮助。

编辑:将QueueUtility静态类和方法转换为静态方法似乎有所帮助。不知道如何或为什么。

0 投票
1 回答
630 浏览

scala - scala期货在akka-http响应后是否继续运行?

我有一个用 akka-http 编写的 REST 服务,它公开了一个/fire端点。当该端点被调用时,我的服务应该发送一个文件,通常约为 50MB 到不同的服务。但是/fire端点应该立即返回给调用者,并以即发即弃的方式继续异步发送文件。

我的实现看起来像这样

我测试了它,它工作正常。

但是,当使用 ASP.NET 实现类似的行为时,我需要使用第三方框架(Hangfire)来处理异步任务,因为完成请求生成的线程最终会被杀死。

我的问题是:在我的 akka-http sendFile中保证运行直到成功/失败完成,否则会出现运行它的线程将被杀死的情况?

0 投票
2 回答
373 浏览

c# - 从 MVC 控制器启动时,Task.Run 偶尔会静默失败

我正在尝试在我的 MVC 应用程序中生成特定表单的 PDF 副本。由于这很耗时,并且客户端不需要等待这一代发生,我试图将其作为一系列 Fire and Forget Tasks 来触发。

需要注意的一个问题是我需要建立 HttpContext,否则一些我无法更改的底层代码将不起作用。我相信我已经解决了这个问题,但我想把它说出来以防万一。

这是我正在调用的函数...

在其中,我将相关 MVC 表单的 HTML 内容的字符串输出写入 html 文件,将该文件的路径交给 PDF 编写器,生成 PDF,然后删除 html 文件。

我在 Controller POST 方法中调用它,如下所示:

该命令被称为 foreach 循环的一部分,该循环构造表单,将它们加载为字符串格式,然后将它们传递给任务。我也试过这个

以防万一Task.Run发生了一些奇怪的事情,但这并没有产生不同的结果。

我遇到的问题是并非所有任务每次都执行。如果我在 Visual Studio 中运行并逐步调试,它每次都能正常工作。但是,当尝试顺序生成 11 个表单时,有时会生成所有表单,有时会生成 3 或 4 个,有时会生成除 1 之外的所有表单。

我将错误日志设置为尽可能广泛,但没有抛出我能找到的异常,并且由于线程中途中止,我的文件结构中没有留下任何生成的 html 文件。

页面从帖子返回的速度与生成的表单数量之间似乎存在轻微的相关性。较长的加载时间通常与生成的更多表单相关......但我的印象应该是无关紧要的。我将它们分离出来,将线程与它们自己的 HttpContext 副本分开,以便随身携带。一旦启动,我认为原始线程不会影响它们。

关于为什么我在某些尝试中只获得 3 个成功的任务,在另一次尝试中全部 11 个,并且没有例外的任何想法?