JobScheduler is creating and starting a separate process for each scheduled job or job chain node . The number of parallel processes can be limited. The workload of the job has no impact on JobScheduler. Sometimes the size of the log files could create a problem due to some restrictions on the database in use.
If the program that has to be scheduled by JobScheduler can be started in a shell (Windows or Unix) then the job type has to be a shell job. All programs that are started by cron or taskplaner should be running in the shell job of JobScheduler as well.
It is important to keep in mind that JobScheduler is running as a service (Windows) or as a daemon (Unix). JobScheduler must have at least all the required permissions for accessing the resources that are needed to execute the program.
Should it not be possible to start an executable file in a shell then it could be possible to implement a wrapper (e.g. in Java, ...) and execute this program as an AP job (similar to Standard JITL Jobs).