Resources for IT Professionals > 論壇首頁 > Windows HPC Server Job Submission and Scheduling > Cannot pass environment variables containing ";" via job submit
發問發問
 

已答覆Cannot pass environment variables containing ";" via job submit

  • Wednesday, 8 April, 2009 19:59Dr.Darshan 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    I have a cluster with Windows HPC Server 2008 and Microsoft HPC Pack. I am trying to submit a job using the "job submit" command that needs to set an environment variable with semi-colon delimited values for each task. I have tried the following alternatives, but each of them fails in the same manner:
    Microsoft Windows [Version 6.0.6001]
    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

    C:\Users\XXXXX>job submit /env:key="value1;value2" dir
    Bad format for 'env' parameter.  Should be /env:name=value;*

    C:\Users\XXXXX>job submit /env:"key=value1;value2" dir
    Bad format for 'env' parameter.  Should be /env:name=value;*

    C:\Users\XXXXX>job submit /env:key=value1;value2 dir
    Bad format for 'env' parameter.  Should be /env:name=value;*

    Could someone please let me know what I am doing incorrectly? The error message is quite incomprehensible and the documentation did not address this problem.

解答

  • Friday, 17 April, 2009 19:04MWirtz 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    I believe you're not doing anything wrong, because the "job submit" command seems to use the ";" as a string delimiter while parsing the argument /env. I guess it's just impossible that way. Maybe you could try to add the set variable command to your commandline string  e.g. like this:

    job submit set key=value1;value2 ^&^& dir

    Make sure to mask the "&" with "^" because otherwise the dir command would be executed directly after your submission command in the local shell.
    Hope this helps.

    - Michael
    • 已標示為解答Dr.Darshan Tuesday, 5 May, 2009 18:28
    •  
  • Saturday, 2 May, 2009 0:28sayanch1MSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    This issue should be fixed in SP1. However, you might try using the SetEnvironmentVariable method in the Scheduler API as that might work.
    • 已標示為解答Dr.Darshan Tuesday, 5 May, 2009 18:29
    •  

所有回覆

  • Friday, 17 April, 2009 19:04MWirtz 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    I believe you're not doing anything wrong, because the "job submit" command seems to use the ";" as a string delimiter while parsing the argument /env. I guess it's just impossible that way. Maybe you could try to add the set variable command to your commandline string  e.g. like this:

    job submit set key=value1;value2 ^&^& dir

    Make sure to mask the "&" with "^" because otherwise the dir command would be executed directly after your submission command in the local shell.
    Hope this helps.

    - Michael
    • 已標示為解答Dr.Darshan Tuesday, 5 May, 2009 18:28
    •  
  • Saturday, 2 May, 2009 0:28sayanch1MSFT, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    This issue should be fixed in SP1. However, you might try using the SetEnvironmentVariable method in the Scheduler API as that might work.
    • 已標示為解答Dr.Darshan Tuesday, 5 May, 2009 18:29
    •  
  • Tuesday, 5 May, 2009 18:24Dr.Darshan 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Thank you, that was indeed helpful.
  • Tuesday, 5 May, 2009 18:28Dr.Darshan 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Thank you, I will wait for SP1 and use the previous workaround meanwhile. I would have preferred to use the Scheduler API, but cannot because I am submitting jobs from a Python application.
    • 已標示為解答Dr.Darshan Tuesday, 5 May, 2009 18:28
    • 已取消標示為解答Dr.Darshan Tuesday, 5 May, 2009 18:28
    •