My application has a number of different asynchronous 'things' that it performs:
- There are things that fire off a schedule (every 5 minutes)
- There are things that are fired when a user clicks a button
- There are things that are triggered by an incoming web service call
I use the terms like this:
- Scheduled things = Jobs
- User-triggered things = Tasks
- Web service-triggered things = Operations
Tasks are quite complicated, so they're implemented using a hierarchy of different objects which I call Activities (operations and jobs may also begin to use these Activities as their building blocks).
I feel like I might be using the wrong terms - for example, would you expect something that happens every 5 minutes automatically to be a Job or a Task? Is there an industry standard for this? All of the words seem to mean the same thing.