@univsys
Sorry I missed getting back to you. The end of July had me rewriting our entire SIS integration to handle 4 instances of Canvas (pandemic problems).
If you're using the API and an import is already running, the API will generally take your Import Request, and return a workflow_state of 'pending'. If your FTP job is still running, your API import would begin after that one completes. SIS Imports won't overlap (concurrent imports), but your data needs to be sent in order.
As for skipping jobs, our jobs run every hour now, but with the same process. If a job is still running on the 00, when a new job is starting the cron script checks to see if the previous job is still running (using linux commands), and emails us the 'BusDriver is delayed, previous job still running'. The process starts again on the next hour. Typically our hourly imports take a couple of *seconds for Canvas to Import, so we only get this notification when the Database on our end takes a long time to return data or the database is having connection problems, in which case our script persistently retries until it gets the data. However, if you aren't initiating the first job (because canvas is via FTP), then somewhere your code needs to check one of the following endpoints:
Check to see if any import is running
https://canvas.instructure.com/doc/api/sis_imports.html#method.sis_imports_api.index
Check the status of existing imports
https://canvas.instructure.com/doc/api/sis_imports.html#method.sis_imports_api.importing
With these, you could decide to delay POSTing your file to the API until one is finished, or send it anyway for it to be 'pending' and imported after the others completed. It kind of depends on whether you monitor the import status and wait for completion. Our workflow runs the import and monitors the progress to completion for archival/status reasons, or decision about the import status and whether a retry is necessary.
*We send all data in the nightly at midnight, and leave a 3 hour cron window for it to complete before starting hourly's (delta) imports at 3AM.
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.