In many non-Windows environments and in older systems there was a process
where you would submit a job or report to run in batch.  Most of these
systems had very complex batch processes with the ability to assign threads,
priority levels, execution date and time, and a host of others.  But the
idea and advantage of these applications was that you could submit these via
your code and assign each of these attributes that the batch job.

What I am trying to do is figure out what's the best approach to building
this sort of functionality in my .Net applications.  I have considered that
the closest thing we have to a batch process is threading.  However, I'm
thinking that I might need to go a little farther than this to handle some
of the queue functionality.  My feeling is that I need a Windows Service app
that I can use to spin through an MSMQ, and have the applications simply
submit new items to the queue.  The service app would then have to pick up
and execute the various applications that it needs to run in batch.

However, once you start putting all of the parts together, you realize that
the architecture here is sort of week.  You would have to have a lot of
class libraries or standalone executables for the batch WinService to
execute.  The other option is to set up threading for each application that
needs to submit something in batch.  That sounds like a pain.  I was hoping
to find a solution that would not require that I change all of the
applications.  But I do want to find out what's the best approach in .Net.

So, my question is simple.  I want to run applications in batch in both
WinForms and WebForms.  I would like the ability to schedule them, assign
priorities if it makes sense to do so.  I would also like to be able to
build up a queue if submitting dozens of threads at the same time isn't
going to give me great performance.  Maybe as far as performance goes, using
threads is the way to go.  I need a solution that will scale because the
apps I'm working on are very large and could have hundreds of users.

I'm not sure what approach to take because I have NEVER had the need for
something like this in .Net.  So I'm not sure what the .Net approach should
be.

Can someone give me some ideas on how they would approach this?

Best regards,
Jon

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to