Poniższy przykład prezentuje opis eksperymentu (QCG-Broker Job Profile) polegającego na wykonaniu zestawu zadań (parameter sweep) uruchamiających unixowe polecenie cal (kalendarz) dla zadanego przedziału miesięcy (od stycznia do lipca z pominięciem marca i czerwca).

<qcgJob appId="calendar_example">
        <task persistent="true" taskId="calendar">
                <execution type="single">
                        <executable>
                                <execFile>
                                        <file>
                                                <location type="URL">file:////usr/bin/cal</location>
                                        </file>
                                </execFile>
                        </executable>
                        <arguments>
                                <value>${PS_month}</value>
                                <value>2010</value>
                        </arguments>
                        <stdout>
                                <file>
                                        <location type="URL">${TASK_DIR}/stdout.txt</location>
                                </file>
                        </stdout>
                </execution>
                <parametersSweep>
                        <parameter>
                                <name>month</name>
                                <value>
                                        <loop>
                                                <start>1</start>
                                                <end>7</end>
                                                <step>1</step>
                                                <except>
                                                        <value>3</value>
                                                        <value>6</value>
                                                </except>
                                        </loop>
                                </value>
                        </parameter>
                </parametersSweep>
        </task>
</qcgJob>

submit_job

  • submit_job <job_profile> - zlecenie zadania do systemu. <job_profile> jest ścieżką do pliku zawierającego opis zadania.
    qcg-client submit_job ../examples/usecase8.xml
    Your identity: C=PL,O=GRID,O=PSNC,CN=Tomasz Piontek
    Creating proxy, please wait...
    Proxy verify OK
    Your proxy is valid until Tue May 17 02:55:47 CEST 2011
    UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    ProxyLifetime = 0 Days 11 Hours 59 Minutes 57 Seconds
    
    jobId = 1305550554579_calendar_example_5366
    

W przypadku, gdy opis zadania nie zawiera składniowych ani logicznych błędów zwracany jest identyfikator zadania.

list_jobs

  • list_jobs [status] [limit] - listowanie identyfikatorów zadań. Opcjonalnie możliwe jest zawężenie listy do zadań o podanym statusie i/lub ograniczenie jej do zadanej liczby ostatnich zadań.
    qcg-client list_jobs 5
    UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    ProxyLifetime = 0 Days 11 Hours 58 Minutes 47 Seconds
    
    Number of jobs: 5
    List of jobs: 
    1301904727887_calendar_example_1403
    1304020897352_calendar_example_4252
    1304065465905_calendar_example_9526
    1305287977790_calendar_example_4779
    1305550554579_calendar_example_5366
    

job_info

  • job_info <jobId> <showJobProfile> - wyświetlenie informacji o danym eksperymencie. Argument <showJobProfile> określa czy ma być wyświetlony opis exksperymentu (domyślną wartością jest false).
    qcg-client job_info 1305550554579_calendar_example_5366 false
    UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    ProxyLifetime = 0 Days 11 Hours 58 Minutes 18 Seconds
    
    UserDN: /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    Project: 
    Status: FINISHED
    StatusDesc: 
    SubmissionTime: Mon May 16 14:55:54 CEST 2011
    FinishTime: Mon May 16 14:56:42 CEST 2011
    Number of tasks: 5
    Tasks: calendar_PSit0 calendar_PSit1 calendar_PSit2 calendar_PSit3 calendar_PSit4
    
    $ qcg-client job_info 1305550554579_calendar_example_5366 true
    UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    ProxyLifetime = 0 Days 11 Hours 58 Minutes 6 Seconds
    
    UserDN: /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    Project: 
    Status: FINISHED
    StatusDesc: 
    SubmissionTime: Mon May 16 14:55:54 CEST 2011
    FinishTime: Mon May 16 14:56:42 CEST 2011
    Number of tasks: 5
    Tasks: calendar_PSit0 calendar_PSit1 calendar_PSit2 calendar_PSit3 calendar_PSit4
    DescriptionType: QCG
    UserDescription: 
    <qcgJob appId="calendar_example">
      <task persistent="true" taskId="calendar">
        <execution type="single">
          <executable>
            <execFile>
              <file>
                <location type="URL">file:////usr/bin/cal</location>
              </file>
            </execFile>
          </executable>
          <arguments>
            <value>${PS_month}</value>
            <value>2010</value>
          </arguments>
          <stdout>
            <file>
              <location type="URL">${TASK_DIR}/stdout.txt</location>
            </file>
          </stdout>
        </execution>
        <parametersSweep>
          <parameter>
            <name>month</name>
            <value>
              <loop>
                <start>1</start>
                <end>7</end>
                <step>1</step>
                <except>
                  <value>3</value>
                  <value>6</value>
                </except>
              </loop>
            </value>
          </parameter>
        </parametersSweep>
      </task>
    </qcgJob>
    
    QCGDescription: 
    <grmsJob appId="calendar_example">
      <task persistent="true" taskId="calendar_PSit0">
        <execution type="single">
          <executable>
            <execFile>
              <file>
                <location type="URL">file:////usr/bin/cal</location>
              </file>
            </execFile>
          </executable>
          <arguments>
            <value>1.0</value>
            <value>2010</value>
          </arguments>
          <stdout>
            <file>
              <location type="URL">${TASK_DIR}/stdout.txt</location>
            </file>
          </stdout>
        </execution>
      </task>
      <task persistent="true" taskId="calendar_PSit1">
        <execution type="single">
          <executable>
            <execFile>
              <file>
                <location type="URL">file:////usr/bin/cal</location>
              </file>
            </execFile>
          </executable>
          <arguments>
            <value>2.0</value>
            <value>2010</value>
          </arguments>
          <stdout>
            <file>
              <location type="URL">${TASK_DIR}/stdout.txt</location>
            </file>
          </stdout>
        </execution>
      </task>
      <task persistent="true" taskId="calendar_PSit2">
        <execution type="single">
          <executable>
            <execFile>
              <file>
                <location type="URL">file:////usr/bin/cal</location>
              </file>
            </execFile>
          </executable>
          <arguments>
            <value>4.0</value>
            <value>2010</value>
          </arguments>
          <stdout>
            <file>
              <location type="URL">${TASK_DIR}/stdout.txt</location>
            </file>
          </stdout>
        </execution>
      </task>
      <task persistent="true" taskId="calendar_PSit3">
        <execution type="single">
          <executable>
            <execFile>
              <file>
                <location type="URL">file:////usr/bin/cal</location>
              </file>
            </execFile>
          </executable>
          <arguments>
            <value>5.0</value>
            <value>2010</value>
          </arguments>
          <stdout>
            <file>
              <location type="URL">${TASK_DIR}/stdout.txt</location>
            </file>
          </stdout>
        </execution>
      </task>
      <task persistent="true" taskId="calendar_PSit4">
        <execution type="single">
          <executable>
            <execFile>
              <file>
                <location type="URL">file:////usr/bin/cal</location>
              </file>
            </execFile>
          </executable>
          <arguments>
            <value>7.0</value>
            <value>2010</value>
          </arguments>
          <stdout>
            <file>
              <location type="URL">${TASK_DIR}/stdout.txt</location>
            </file>
          </stdout>
        </execution>
      </task>
    </qcgJob>
    

tasks_statuses

  • tasks_statuses <jobId> - wyświetla listę zadań wchodzących w skład eksperymentu wraz z ich statusami.
    qcg-client tasks_statuses 1305550554579_calendar_example_5366
    UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    ProxyLifetime = 0 Days 11 Hours 41 Minutes 30 Seconds
    
    Number of tasks: 5
    Tasks statuses: 
    calendar_PSit4  : FINISHED
    calendar_PSit3  : FINISHED
    calendar_PSit2  : FINISHED
    calendar_PSit1  : FINISHED
    calendar_PSit0  : FINISHED
    ------ SUMMARY --------
    Number of tasks: 5
    FINISHED        : 5
    

task_info

  • task_info <jobId> <taskId> [<showJobProfile>] - wyświetla informację o danym zadaniu.
    qcg-client task_info 1305550554579_calendar_example_5366 calendar_PSit0 true
    UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    ProxyLifetime = 0 Days 11 Hours 40 Minutes 11 Seconds
    
    TaskType: SINGLE
    SubmissionTime: Mon May 16 14:55:57 CEST 2011
    FinishTime: Mon May 16 14:56:27 CEST 2011
    ProxyLifetime: PT0S
    Status: FINISHED
    StatusDesc: 
    StartTime: Mon May 16 14:56:04 CEST 2011
    DescriptionType: <task persistent="true" taskId="calendar_PSit0">
      <execution type="single">
        <executable>
          <execFile>
            <file>
              <location type="URL">file:////usr/bin/cal</location>
            </file>
          </execFile>
        </executable>
        <arguments>
          <value>1.0</value>
          <value>2010</value>
        </arguments>
        <stdout>
          <file>
            <location type="URL">${TASK_DIR}/stdout.txt</location>
          </file>
        </stdout>
      </execution>
    </task>
    
    
    Coallocation: 
    UserDN: /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
    HostName: grass1.man.poznan.pl
    ProcessesCount: 1
    ProcessesGroupId: 
    Status: FINISHED
    StatusDescription: 
    SubmissionTime: Mon May 16 14:56:04 CEST 2011
    FinishTime: Mon May 16 14:56:21 CEST 2011
    LocalSubmissionTime: Mon May 16 14:56:06 CEST 2011
    LocalStartTime: Mon May 16 14:56:10 CEST 2011
    LocalFinishTime: Mon May 16 14:56:10 CEST 2011