Running Custom Interactive CLI Jobs

If you are using a command-line SSH connection to the RCE, you can still launch and use RCE Interactive Applications.

Launch your application in a disconnectible terminal emulator, and you will be able to access it after it is started asynchronously by the job scheduler.

  1. Create a condor submit file to specify the application you want to run.
    •  In your submit file, wrap your command in a disconnectible terminal. We recommend either tmux or screen.
    • You can create this file manually, or with condor_submit_util.
    • Refer to Running Batch Jobs for more details.
    • For Example:
      • condor_submit_util -I --noinput --nosubmit --keep --submitfile myapp.submit -x /usr/bin/screen -a '-S myterminal /usr/bin/R' -m 2048 -c 1 -d myapp_outdir -n 1
         

        cat myapp.submit

        Universe        = vanilla
        Executable      = /usr/bin/screen
        Arguments       = -S myterminal /usr/bin/R
        request_memory  = 2048
        request_cpus    = 1
        transfer_executable = false
        should_transfer_files = NO
        output  = /nfs/home/W/whorka/myapp_outdir/out
        error   = /nfs/home/W/whorka/myapp_outdir/error
        Log     = /nfs/home/W/whorka/myapp_outdir/log
        +UsingCondorSubmitUtil = true
        Queue   1

  2. Submit the job
    condor_submit myapp.submit
    Submitting job(s).
    1 job(s) submitted to cluster 38965.

  3. Connect to the server where your job is running.
    condor_ssh_to_job_util

  4. Connect to the disconnected terminal.
    screen -d -r myterminal

  5. Interact with your command-line application as normal.
    • The hotkey for your disconnectible terminal emulator will be interpreted by the terminal emulator and not the application. For screen, this is ^A (Ctrl-A) by default, and for tmux this is ^B (Ctrl-B) by default.

  6. If you disconnect, follow steps 3-4 to reconnect.

  7. When you are finished running your application, exit the application, and then exit from the connection to the server where your job is running.
    • Once you exit the "control" connection, your job will terminate.

If you find this feature useful, or this process too cumbersome, please contact us regarding future process improvements.