X
PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 15 Apr 2016 04:07 PM by  anon
Using IDL 8.5 using Windows 10 task scheduler
 1 Replies
Sort:
You are not authorized to post a reply.
Author Messages

anon



Basic Member


Posts:143
Basic Member


--
15 Apr 2016 04:07 PM
    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....

    Deleted User



    Basic Member


    Posts:143
    Basic Member


    --
    15 Apr 2016 04:20 PM
    By default the IDL workspace is locked when IDLDE is running. Thus, multiple instances of IDLDE cannot use the same workspace. You can change this setting by opening the following file in a text editor: C:\Program Files\Exelis\IDL85\bin\bin.x86_64\idlde.ini and then add the following line to the end of the file: -Dosgi.locking=none After you have added this line to the file, you should be able to open multiple IDL sessions in the same workspace.
    You are not authorized to post a reply.