A user has asked the following question:
I am trying to get IDL 8.5 to replicate functionality I had with IDL 6.x - specifically, the ability to schedule IDL tasks to run automatically, in the background, via windows task scheduler. Characteristics I need are:
1. I need to start a new IDL task whenever new data are detected on my server sent in by one of my remote field instruments. This taks will analyze and plot the latest data. Because data arrive asynchronously, there will be times when several analysis tasks need to run simultaneously.
2. I also have to maintain the server, which requires interactive use of the console. This is impossible if new IDL tasks keep popping up every couple of minutes and filling the screen with plot windows. So I need the IDL tasks to run in the background, without overrunning the console.
I had no problem achieving this behavior previously using IDL 6.x on an WIN7 machine. But now I'm running IDL 8.5 under WIN10, and I've spent many many days trying to get back to where I once was. Specific problems stopping me from getting there are:
1. If I try to get the task scheduler to start IDLDE sessions as required, it can't do so automatically. Attempts to start multiple instances fail because it keeps getting conflicts trying to create these stupid workspace things on startup. It keeps saying it can't create a workspace and that I need to provide another one. Well that's fine if you're running interactively, but not helpful if you're trying to start a non-interactive batch job. It seems there is no way around this.
2. Conversely, it doesn't seem to be able to start new instances of the simple command-line "IDL" program in the background. That is, if I run the task as another user who is not logged in, the IDL program immediately terminates when invoked by the task scheduler. I presume this is because it cannot create a display (as it doesn't have access to the console.) I did try the "always run in the background" checkbox in my IDL preferences. But it didn't help, and it's far from clear what this actually does, if anything. If I run "IDL" as the user currently logged in everything works - except that the console is now unusable because IDL is filling it with output. I DO seem to be able to start a single instance of IDLDE in the background, and have it generate plots. But again, because of the dumb workspace collisions, I cannot have multiple instances running at once like this.
As I said, the functionality I need WAS working under IDL 6.x .... so HOPEFULLY there must be some way to regain it? Can I tell IDLDE to forget about workspaces? Is there a way to schedule IDL so it can create output to a "WIN" direct graphics device when running in the background?
Any help appreciated; I'm at my wit's end....
|