Search code examples
architecturebackgroundbatch-filejobs

Batch processing and backgrounding jobs


Accoding to wiki, Batch processing is execution of a series of programs ("jobs") on a computer without manual intervention.

I wonder what is the difference and relation between batch processing and putting a process into background?

Are backgrounding a job always batch processing? Are there batch processing not backgrounding?

Thanks and regards!


Solution

  • Batch processing usually involves repeatedly doing the same action to a lot of things. For instance, the bulk printing of letters or the bulk loading of records into a data warehouse. These are usually scheduled activities. In the olden days they were called overnight runs; even in modern 24-7 systems they tend to be scheduled in what passes for the quiet times.

    By their nature batch processes run in the background. But other types of process also run in the background. There are daemons which run constantly, but mostly sleep. There are monitoring processes which respond to events, like message queue readers. Then are asynchronous user tasks, which beaver away while the user gets on with something else. What distinguishes these from batch processes is just volume: they are dealing with single records or handfuls of records.