首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并行处理

并行处理
EN

Stack Overflow用户
提问于 2013-07-02 14:01:26
回答 1查看 141关注 0票数 0

我有一个为其生成日志文件的站点列表。这些日志必须通过运行各自的进程,使用ruby代码进行机器复制、解压缩、解析和分析。

有没有人能建议对所有站点的日志并行运行这些进程的最好方法?

EN

回答 1

Stack Overflow用户

发布于 2013-07-02 15:27:09

考虑到您的数据模型如下:

代码语言:javascript
复制
class Website
{
    public List<WebSiteLog> Logs;
}

使用TPL (任务并行库)的一个可能的并行解决方案是这样的:

代码语言:javascript
复制
// var sites = your sites list
var processTask = Task.Foreach(sites, site =>
{
    Task.Factory.StartNew(theSite=>
    {
        theSite.UnzipLogs()
    }.ContinueWith(unzipTask=>{
    {
        theSite.ParseLogs();
    }.ContinueWith(parseTask=>{
    {
        theSite.AnalyzeLogs();
    }
});

Task.WaitAll(processTask);

这是一个非常初始的解决方案。在UnzipLogsParseLogsAnalyzeLogs上可以使用大量的异常管理、分区甚至更多的并行化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17418412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档