问题标签 [pipeline]

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 投票
4 回答
268 浏览

asp.net - 如何将图像(和其他文件)保留在 ASP.NET 管道之外

如何防止某些文件类型通过 ASP.NET 管道(命中 global.asax 等)?

0 投票
1 回答
601 浏览

ftp - 管道压缩和 ftp 传输

我正在编写一个实用程序,它将使用 LZMA sdk 压缩一个文件(或一组文件),然后将文件发送到 ftp 服务器。通常压缩的速度比ftp连接的速度要快。我想做的不是压缩文件,而是等待它完成,然后开始上传我想压缩到一个临时文件或流,然后在压缩时上传完成的部分。

现在的问题是怎么做?

我担心的一个问题是我将使用的文件在压缩后可能超过 1GB,而我将在其上运行的系统将有 512MB 到 2GB 的内存,所以我不想让压缩端在内存中狂奔并锁定系统。我一直在考虑的方法是在一个线程中运行压缩,在内存流中排队 5-​​10Mb,然后将信息发送到另一个线程中的 ftp。这是一个好方法还是有更好的方法来做到这一点?是否有任何陷阱,比如它需要在文件完成时重写文件开头的文件头或其他任何东西?

我打算用 c# 编写这个,但 c、c++ 或 java 中的代码示例也很好。

感谢您的帮助。

0 投票
3 回答
6081 浏览

f# - 将另一个参数通过管道传递到 F# 中的行中

管道参数是否仅适用于接受一个参数的函数?如果我们看一下Chris Smiths 页面上的示例,

其中他的 filesUnderFolder 函数只需要 rootFolder 参数,如果该函数需要两个参数怎么办,即
let filesUnderFolder size rootFolder

然后这不起作用:

由于我可以定义
let inline (>>) f g x y = g(f x y)
,我认为我应该能够将管道运算符与具有多个输入参数的函数一起使用,对吧?我错过了什么?

0 投票
2 回答
257 浏览

f# - 在 F# 中将列表插入行中

现在我可以向管道添加单个值或 tubles,我的下一个问题是我可以添加一个列表/数组:

我的问题是我不能用管道 |> 处理这个,或者我可以吗?

0 投票
2 回答
17169 浏览

asp.net - IIS7 集成与经典管道 - 使用更多 ASP.NET 线程?

使用集成管道,所有请求都通过 ASP.NET 传递,包括图像、CSS。

而在经典管道中,默认情况下只有对 ASPX 页面的请求通过 ASP.NET 传递。

集成管道会对线程使用产生负面影响吗?

假设我从 IIS 服务器请求 500 MB 二进制文件:

  • 使用集成管道,ASP.NET 工作线程将用于二进制下载(对吗?)。
  • 使用经典管道,请求直接由 IIS 提供服务,因此不使用 ASP.NET 线程。

对我来说,这有利于经典管道,因为我希望尽可能多的线程来服务 ASPX 页面。

我完全不在这儿吗?

0 投票
1 回答
272 浏览

python - 需要在 Ruffus 管道中运行函数之前制作一组文件

我正在使用 ruffus 编写管道。我有一个被并行调用多次的函数,它创建了几个文件。我想创建一个函数“combineFiles()”,在创建所有这些文件后调用该函数。由于它们在集群上并行运行,因此它们不会一起完成。我编写了一个函数“getFilenames()”,它返回需要创建的文件名集,但我怎样才能让 combineFiles() 等待它们出现呢?

我尝试了以下方法:

我也试过装饰器:

但这也不起作用。在生成 getFilenames 给出的文件之前,combineFiles 仍然会被错误地调用。如何使 combineFiles 以这些文件的存在为条件?

谢谢。

0 投票
1 回答
65 浏览

sql-server-2005 - SqlServerPipelineHost 和 SqlServer.DtsMsg 的 .Net 安装问题

我向 vb 2005 Windows 应用程序添加了一个 Web 服务使用者,并尝试将其安装在另一台已经安装了早期版本的计算机上(ClickOnce 部署)。出现一个错误,说我需要在 GAC 中安装 Microsoft.SqlServer.PipelineHost。我将 PipelineHost 添加到引用列表中并将其标记为 Copy Local = true,重建解决方案,发布它并尝试将其安装在另一台计算机上。

这次它说我需要安装 Microsoft.SqlServer。但是DtsMsg,该组件没有出现在我的 .Net 组件列表中。

我从这里去哪里?

谢谢你。

0 投票
1 回答
1096 浏览

workflow - 带有分销商的 NServiceBus 管道

我正在使用 NServiceBus 构建一个处理管道,但我在配置分发服务器时遇到了问题,以便使流程中的每个步骤都具有可扩展性。这里有一些信息:

  • 管道将有一个主进程,对 WorkItem 说“好的,该开始了”,然后它将启动一个类似流程图的进程。
  • 流程图中的每个步骤都可能在计算上很昂贵,因此我希望能够扩展每个步骤。这告诉我每个步骤都需要一个 Distributor。
  • 我希望以后能够将其他活动与事件挂钩。这告诉我完成后我需要 Publish() 消息,而不是 Send() 它们。
  • 流程可能需要根据条件进行分支。这告诉我一个进程必须能够发布不止一种类型的消息。
  • 一个进程可能需要加入分叉。我想我应该为此使用 Sagas。

希望这些假设是好的,否则我遇到的麻烦比我想象的要多。

为了简单起见,让我们忘记分叉或加入,考虑一个简单的管道,步骤 A 后跟步骤 B,并以步骤 C 结束。每个步骤都有自己的分发器,并且可以有许多节点处理消息。

  • NodeA worker 包含一个 IHandleMessages 处理器,并发布 EventA
  • NodeB worker 包含一个 IHandleMessages 处理器,并发布 Event B
  • NodeC worker 包含一个 IHandleMessages 处理器,然后管道就完成了。

以下是配置文件的相关部分,其中#表示worker的数量,(即有输入队列NodeA.1和NodeA.2):

以下是分销商配置的相关部分:

我正在使用每个节点的 2 个实例进行测试,问题似乎出现在节点 B 的中间。基本上可能发生两件事:

  1. Node B 的两个实例都报告它正在订阅 EventA,并且 NodeC.Distrib.Data@MYCOMPUTER 正在订阅 Node B 发布的 EventB。在这种情况下,一切都很好。
  2. Node B 的两个实例都报告它正在订阅 EventA,但是,一个工作人员说 NodeC.Distrib.Data@MYCOMPUTER 正在订阅 TWICE,而另一个工作人员没有提到它。

在第二种情况下,它似乎只受分发者路由订阅消息的方式控制,如果“overachiever”节点处理一个 EventA,那么一切都很好。如果“成绩不佳者”处理 EventA,则 EventB 的发布没有订阅者并且工作流终止。

所以,我的问题:

  1. 这种设置可以吗?
  2. 配置是否正确?除了简单的一级发布者/2-worker 设置之外,很难找到任何关于分发者的配置示例。
  3. 让一个中央代理进程来执行所有非计算密集型的交通警察操作,并且仅在任务长时间运行且必须进行负载平衡时才将消息发送到分发器后面的进程是否更有意义?
    • 然后负载平衡的节点可以简单地回复中央代理,这似乎更容易。
    • 另一方面,这似乎与 NServiceBus 的权力下放不符。
    • 如果这是答案,并且长时间运行的流程的 done 事件是一个回复,那么您如何保留 Publish 以启用以后对已发布事件的可扩展性?
0 投票
2 回答
123 浏览

java - 我可以编写一个在 Web 应用程序在 Tomcat 中运行之前被触发的模块/过滤器吗?

我可以编写一个模块/过滤器,在 Web 应用程序运行之前放入 Tomcat 中的处理管道吗?

我可以为 tomcat 正在处理的每个 Web 应用程序打开/关闭一些东西。

这可能吗?

所以基本上它是一个可重用的过滤器,它连接到可以改变请求行为或执行/修改请求的 Web 管道中。一个示例是记录所有 ip,或基于 url 重定向,阻止请求等。

0 投票
3 回答
305 浏览

linux - 使用 Perl 在 Unix/Linux 环境中下载和处理文件的管道

我有一个要下载它们的文件 URL 列表:

我想要对每个文件执行以下操作:

  1. wget与和并行下载 foo1,2 nohup..
  2. 每次完成下载过程时myscript.sh

我所拥有的是:

问题是我无法告诉上述管道文件何时完成下载。所以现在它 myscript.sh 没有得到正确执行。

实现这一目标的正确方法是什么?