tapis-project / tapis-java

Texas Advanced Computing Center APIs
BSD 3-Clause "New" or "Revised" License
5 stars 6 forks source link

Jobs: Use App.jobType in place of App.appType #41

Open scblack321 opened 2 years ago

scblack321 commented 2 years ago

App.appType is being replaced by App.jobType.

Allow for jobType to be specified in job submit request.

Description:

Replacing App.appType will improve the flexibility of applications though it could make job submission occasionally more complicated. To reduce complications, we'll assign the new App.jobType field the current App.appType value as part of a migration task. In addition, we'll implement the algorithm below to automatically assign Job.jobType whenever possible.

NOTE: All accepted jobs will have a non-null jobType, whether it's assigned by the user or by Jobs.

Behavior:

For Apps:

  1. If the user specifies jobType in the app definition, use it.
  2. Otherwise, set jobType=null.

For Jobs:

  1. If the user specifies jobType in the job request, use it.
  2. If the app.jobType != null, use it.
  3. Otherwise, if the user specifies an execution system, query that system and set jobType=BATCH if execSys.canRunBatch==true.
  4. Otherwise, set jobType=FORK.