none
Executing long running tasks RRS feed

  • Question

  • Hi Guys,
    Are there any frameworks available in .NET to execute long running tasks?
    This framework should give me the flexibility to plug in my implementation to execute the job and also ability to control the run-time like the number of tasks that execute and load balancing of execution.
    I would like to here different approaches to solve the problem.
    Wednesday, October 26, 2011 6:43 AM

All replies

  • Hi Nairooz,

    I would recommend using Windows Server AppFabric as an option.  It's perfect for hosting long running processes (such as Windows Workflow Foundation 4.0 services or plain WCF services). 

    What's nice about AppFabric is it doesn't take much from the developer.  You just create your WCF service or WF 4.0 service applications as you normally would and then you can host them in AppFabric which builds on the foundation of IIS and WAS (windows activation services). 

    AppFabric automatically can create databases to store persistence information (so a service can be restarted where it left off) and a monitoring database and a great dashboard into what's going on with the long running process. 

    It's also easy to make the processes scalable because AppFacric has a built in load balancer so it can route processes to available servers as needed and you can easily add servers.  You can read more about it here (read the white papers, they give a very good overview):

    http://msdn.microsoft.com/en-us/windowsserver/ee695849


    Tom Overton
    Wednesday, October 26, 2011 1:16 PM
  • Spring Batch on Java does a lot, what you need. Not sure if there is any alternate of Spring Batch in .Net but .net got a lot of similar framework/Technology to solve specific issue. What kind of processing logic you are executing?

    For ETL, you can use SSIS or BizTalk; WF can be an option for certain case.

    If you talk about a C# framework, there are few open sources available as below,

    http://code.google.com/p/batchflow/

    http://gridmodel.codeplex.com/


    Lingaraj Mishra
    Thursday, October 27, 2011 7:06 AM
  •  

    Hi,

    I think you can give a try to TPL library of .Net 4

    Read these link which will give you some idea how to execute long running tasks by TPL and get the benifit of multi cores. Some guys has already give there ideas.

    http://geekswithblogs.net/bosuch/archive/2011/09/26/speeding-up-foreach-loops-with-parallel-programming---task-parallel.aspx

     

     


    • Edited by Maamir Monday, October 31, 2011 11:09 AM Type mistake
    Monday, October 31, 2011 11:08 AM
  • Hi 

    Did you looked at PLINQ,  RX


    If this post answers your question, please click "Mark As Answer". If this post is helpful please click "Mark as Helpful".
    Tuesday, November 1, 2011 8:57 AM