sassoftware / saspy

A Python interface module to the SAS System. It works with Linux, Windows, and Mainframe SAS as well as with SAS in Viya.
https://sassoftware.github.io/saspy
Other
373 stars 150 forks source link

Abort submitted script after time limit but keep session alive? #372

Closed abhisuri97 closed 3 years ago

abhisuri97 commented 3 years ago

Is your feature request related to a problem? Please describe. N/A. I'm currently attempting to make a SAS autograder for a class I'm in and am looking into how to potentially abort execution of scripts if they take longer than a set timeout period (e.g. 2 minutes). I know that there's a way to send a kill command from the terminal; however, this ends up killing the session as well (which I don't want).

Describe the solution you'd like A way to kill the execution of a sas_session.submit(code=...) call without killing the session overall.

Describe alternatives you've considered N/A. The closest alternative I can think of is just killing the entire process, but this kills the underlying sas session which isn't something I want.

Additional context N/A

tomweber-sas commented 3 years ago

I don't have support for being able to cancel a submission over IOM. In my STDIO access method, I can interrupt the SAS session and drive the SAS interrupt handler, to 1) cancel submitted statements 2) stop the proc/datastep 3) terminate SAS ... You probably know from interactive SAS. But for my IOM access method I don't have a way to do that same thing. My only option for IOM is to sever the connection; terminate.

I have to admit, I haven't ever really gone back and tried to figure out if there's even a way over IOM to do that or not. Much less if I could make that all work if there is a way. So, that would take some research to see if IOM can support it, and if I could then orchestrate that between my python code and the java process.

Sorry, that's 2 'bad' answers in a row :( That's not how I usually roll Tom

abhisuri97 commented 3 years ago

Ah I see. And no worries re the "bad" answers (I really appreciate the fast responses). Thanks for your help Tom. Closing...