OpenDreams
OD_1.5
Projeto OpenDreams - Openbus
|
import "drmaa.idl";
Mostrar lista completa dos membros
Membros públicos | |
void | init (in string contactString) raises ( DrmsInitException, InvalidContactStringException, AlreadyActiveSessionException, DefaultContactStringException, NoDefaultContactStringSelectedException, OutOfMemoryException, DrmCommunicationException, AuthorizationException, InvalidArgumentException, InternalException) |
Faz a inicialização de uma sessão, tornando-a ativa. | |
void | exit () raises ( DrmsExitException, NoActiveSessionException, DrmCommunicationException, AuthorizationException, OutOfMemoryException, InternalException) |
Faz a finalização de uma sessão ativa. | |
JobTemplate | createJobTemplate () raises ( DrmCommunicationException, NoActiveSessionException, OutOfMemoryException, AuthorizationException, InternalException) |
Faz a criação de um job template. | |
void | deleteJobTemplate (in JobTemplate jobTemplate_) raises ( DrmCommunicationException, NoActiveSessionException, OutOfMemoryException, AuthorizationException, InvalidArgumentException, InvalidJobTemplateException, InternalException) |
Libera um job template. | |
string | runJob (in JobTemplate jobTemplate_) raises ( TryLaterException, DeniedByDrmException, DrmCommunicationException, AuthorizationException, InvalidJobTemplateException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Submete um job para execução. | |
StringList | runBulkJobs (in JobTemplate jobTemplate_, in long beginIndex, in long endIndex, in long step) raises ( TryLaterException, DeniedByDrmException, DrmCommunicationException, AuthorizationException, InvalidJobTemplateException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Operação ainda não implementada. | |
void | control (in string jobName, in JobControlAction operation) raises ( DrmCommunicationException, AuthorizationException, ResumeInconsistentStateException, SuspendInconsistentStateException, HoldInconsistentStateException, ReleaseInconsistentStateException, InvalidJobException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Operação ainda não implementada. | |
void | synchronize (in StringList jobList, in long long timeout, in boolean dispose) raises ( DrmCommunicationException, AuthorizationException, ExitTimeoutException, InvalidJobException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Operação ainda não implementada. | |
JobInfo | wait (in string jobName, in long long timeout) raises ( DrmCommunicationException, AuthorizationException, ExitTimeoutException, InvalidJobException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Aguarda um único job completar sua execução e retorna o status do com a condição de término e as informações de uso de recursos pelo job. | |
JobState | jobStatus (in string jobName) raises ( DrmCommunicationException, AuthorizationException, InvalidJobException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Retorna o estado do job identificado pelo parâmetro jobName. | |
Atributos Públicos | |
const long long | TIMEOUT_WAIT_FOREVER = -1 |
const long long | TIMEOUT_NO_WAIT = 0 |
const string | JOB_IDS_SESSION_ANY = "DRMAA_JOB_IDS_SESSION_ANY" |
const string | JOB_IDS_SESSION_ALL = "DRMAA_JOB_IDS_SESSION_ALL" |
readonly attribute string | contact |
Se esse atributo for lido antes de uma chamada ao método init(), retorna uma string contendo a lista (separada por vírgula) com os nomes das instalações DRMAA disponíveis. Cada um desses nomes representa uma instalação específica de um sistema DRM específico (por exemplo, a versão do CSGRid executando em um determinado IP e porta). Se esse atributo for lido depois de uma chamada ao método init(), retorna uma string contendo a instalação DRMAA associada a sessão ativa. | |
readonly attribute DRMAA::Version | version |
Contém uma instância de Version que representa o número da versão da implementação do DRMAA. | |
readonly attribute string | drmsInfo |
Se esse atributo for lido antes de uma chamada ao método init(), retorna uma string contendo a lista (separada por vírgula) com identificadores dos DRMS disponíveis. Um identificador de DRMS denota um tipo específico de DRMS (por exemplo, Sun Grid Engine, CSGrid). Se esse atributo for lido depois de uma chamada ao método init(), retorna uma string contendo o identificador do DRMS associado a sessão ativa. | |
readonly attribute string | drmaaImplementation |
Se esse atributo for lido antes de uma chamada ao método init(), retorna uma string contendo a lista (separada por vírgula) com implementações DRMAA disponíveis. A string de uma implementação DRMAA denota uma versão específica do DRMS (por exemplo, Condor v6.6). Se esse atributo for lido depois de uma chamada ao método init(), retorna uma string contendo a implementação DRMAA associada a sessão ativa. |
void tecgraf::openbus::DRMAA::Session::control | ( | in string | jobName, |
in JobControlAction | operation | ||
) | raises ( DrmCommunicationException, AuthorizationException, ResumeInconsistentStateException, SuspendInconsistentStateException, HoldInconsistentStateException, ReleaseInconsistentStateException, InvalidJobException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Operação ainda não implementada.
JobTemplate tecgraf::openbus::DRMAA::Session::createJobTemplate | ( | ) | raises ( DrmCommunicationException, NoActiveSessionException, OutOfMemoryException, AuthorizationException, InternalException) |
Faz a criação de um job template.
O job template é usado para definir as características para submissão de jobs. Uma vez que o job template tenha sido criado, ele deve ser posteriormente removido (usando o método deleteJobTemplate()
) quando não for mais necessário.
NoActiveSessionException | Se a sessão ainda não foi inicializada ou se a sessão já foi finalizada. OutOfMemoryException Caso o sistema DRMS não possua memória suficiente para executar essa operação. |
AuthorizationException | Caso o usuário não possua permissão para executar essa operação. |
InternalException | Falha na execução da operação no DRMS. |
void tecgraf::openbus::DRMAA::Session::deleteJobTemplate | ( | in JobTemplate | jobTemplate_ | ) | raises ( DrmCommunicationException, NoActiveSessionException, OutOfMemoryException, AuthorizationException, InvalidArgumentException, InvalidJobTemplateException, InternalException) |
Libera um job template.
Esse método não possui nenhum efeito em jobs em execução. Somente pode ser usado em job templates criados pelo método createJobTemplate()
e que ainda não foram liberados.
[in] | jobTemplate_ | O job template a ser liberado. |
DrmCommunicationException Falha na conexão com o sistema DRMS.
NoActiveSessionException | Se a sessão ainda não foi inicializada ou se a sessão já foi finalizada. OutOfMemoryException Caso o sistema DRMS não possua memória suficiente para executar essa operação. |
AuthorizationException | Caso o usuário não possua permissão para executar essa operação. |
InvalidJobTemplateException | se o job não foi criado adequadamente ou se o job template já foi liberado. |
InternalException | Falha na execução da operação no DRMS. |
void tecgraf::openbus::DRMAA::Session::exit | ( | ) | raises ( DrmsExitException, NoActiveSessionException, DrmCommunicationException, AuthorizationException, OutOfMemoryException, InternalException) |
Faz a finalização de uma sessão ativa.
Esse método termina a conexão com o DRMS e finaliza a sessão ativa. A chamada a esse método não afeta qualquer job já submetido (na fila ou em execução). Qualquer instância de job template que ainda não tenha sido removida, se torna inválida após esse método ser executado, mesmo depois de uma subsequente chamada ao método init()
.
DrmsExitException | Falha durante a finalização da sessão. |
NoActiveSessionException | Se a sessão ainda não foi inicializada ou se a sessão já foi finalizada antes. DrmCommunicationException Falha na conexão com o sistema DRMS. OutOfMemoryException Caso o sistema DRMS não possua memória suficiente para executar essa operação. |
AuthorizationException | Caso o usuário não possua permissão para executar essa operação. |
InternalException | Falha na execução da operação no DRMS. |
void tecgraf::openbus::DRMAA::Session::init | ( | in string | contactString | ) | raises ( DrmsInitException, InvalidContactStringException, AlreadyActiveSessionException, DefaultContactStringException, NoDefaultContactStringSelectedException, OutOfMemoryException, DrmCommunicationException, AuthorizationException, InvalidArgumentException, InternalException) |
Faz a inicialização de uma sessão, tornando-a ativa.
Esse método tem que ser chamado antes de qualquer outra chamada na sessão, com exceção dos métodos contact
, drmsInfo
e drmaaImplementation
definidos na interface Session
.
[in] | contactString | Especifica qual sistema DRMS deve ser usado, no caso de haver mais de um. Quando vazio, o DRMS default é usado. |
DrmsInitException | Falha durante a inicialização da sessão. |
InvalidContactStringException | Caso o parâmetro contactString seja inválido. |
AlreadyActiveSessionException | Caso esse método seja chamado mais de uma vez. |
DefaultContactStringException | Caso o contactString vazio e o DRMS default não consiga ser conectado. |
NoDefaultContactStringSelectedException | Caso o contactString seja vazio e exista mais de um DRMS disponível. OutOfMemoryException Caso o sistema DRMS não possua memória suficiente para executar essa operação. DrmCommunicationException Falha na conexão com o sistema DRMS. |
AuthorizationException | Caso o usuário não possua permissão para executar essa operação. |
InvalidArgumentException | Valor de argumento inválido. |
InternalException | Falha na execução da operação no DRMS. |
JobState tecgraf::openbus::DRMAA::Session::jobStatus | ( | in string | jobName | ) | raises ( DrmCommunicationException, AuthorizationException, InvalidJobException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Retorna o estado do job identificado pelo parâmetro jobName.
O OpenDreams verifica se o job já finalizou usando um cache próprio que mantém as informações sobre jobs que finalizaram. Se não encontrar a informação nesse cache, pede ao serviço CommandPersistenceService que possui persistido em arquivo as informações sobre todos os jobs submetidos.
É importante observar que nem sempre o estado de retorno DONE (finalizado normalmente) significa que o comando terminou com código de retorno igual a zero. Se o configurador do algoritmo não tiver definido a opção que captura a saída do comando, o estado retornado pode ser DONE também. Se o configurador tiver definido a opção que captura a saída do comando e se o comando terminar com um valor diferente de zero, o estado é retornado como FAILED.
Os seguintes estados podem ser retornados:
JobState.QUEUED_ACTIVE: se o comando estiver na fila.
JobState.RUNNING: se o comando já tiver sido removido da fila para ser executado.
JobState.DONE: se o comando tiver finalizado e o código de saída do job não tiver sido capturado ou se o código de saída do job tiver sido capturado com valor zero.
JobState.FAILED: se o comando tiver finalizado e o código de saída do job tiver sido capturado com valor diferente de zero ou se houve falha na inicialização do comando ou se ele foi cancelado ou se houve falha na obtenção do código de saída.
JobState.UNDETERMINED: em qualquer condição que não se enquadra nas descritas acima.
Na implementação do OpenDreams, os seguintes estados não são tratados: SYSTEM_ON_HOLD, USER_ON_HOLD, USER_SYSTEM_ON_HOLD, SYSTEM_SUSPENDED, USER_SUSPENDED e USER_SYSTEM_SUSPENDED.
StringList tecgraf::openbus::DRMAA::Session::runBulkJobs | ( | in JobTemplate | jobTemplate_, |
in long | beginIndex, | ||
in long | endIndex, | ||
in long | step | ||
) | raises ( TryLaterException, DeniedByDrmException, DrmCommunicationException, AuthorizationException, InvalidJobTemplateException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Operação ainda não implementada.
string tecgraf::openbus::DRMAA::Session::runJob | ( | in JobTemplate | jobTemplate_ | ) | raises ( TryLaterException, DeniedByDrmException, DrmCommunicationException, AuthorizationException, InvalidJobTemplateException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Submete um job para execução.
O job submetido está definido pelo job template, passado como parâmetro. O identificador retornado deve ser o mesmo fornecido pelo DRMS responsável pelo agendamento do job.
[in] | jobTemplate_ | O job template que define o job submetido para execução. |
TryLaterException a requisição não pode ser processada devido a uma carga excessiva do sistema. DeniedByDrmException o DRMS rejeitou o job devido a configuração do job template fornecida ou da configuração do próprio DRMS. DrmCommunicationException Falha na conexão com o sistema DRMS.
AuthorizationException | Caso o usuário não possua permissão para executar essa operação. |
InvalidJobTemplateException | se o job não foi criado adequadamente ou se o job template já foi liberado. |
NoActiveSessionException | Se a sessão ainda não foi inicializada ou se a sessão já foi finalizada. OutOfMemoryException Caso o sistema DRMS não possua memória suficiente para executar essa operação. |
InvalidArgumentException | Valor de argumento inválido. |
InternalException | Falha na execução da operação no DRMS. |
void tecgraf::openbus::DRMAA::Session::synchronize | ( | in StringList | jobList, |
in long long | timeout, | ||
in boolean | dispose | ||
) | raises ( DrmCommunicationException, AuthorizationException, ExitTimeoutException, InvalidJobException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Operação ainda não implementada.
JobInfo tecgraf::openbus::DRMAA::Session::wait | ( | in string | jobName, |
in long long | timeout | ||
) | raises ( DrmCommunicationException, AuthorizationException, ExitTimeoutException, InvalidJobException, NoActiveSessionException, OutOfMemoryException, InvalidArgumentException, InternalException) |
Aguarda um único job completar sua execução e retorna o status do com a condição de término e as informações de uso de recursos pelo job.
Se for chamado com o JOB_IDS_SESSION_ANY como parâmetro no job name e não houver jobs ativos na sessão, a exceção InvalidJobException é lançada.
Para um mesmo job name, apenas uma chamada ao método wait ocorre com sucesso. Para qualquer outra que esteja aguardando uma chamada wait ao mesmo job, é lançada uma exceção InvalidJobException.
Em um ambiente multi-threaded com chamadas ao método wait usando JOB_IDS_SESSION_ANY, apenas a thread ativa recebe o resultado do wait enquanto as outras continuam esperando por outro job. Se não houver mais jobs submetidos, as outras threads recebem a exceção InvalidJobException.
Se uma thread A está aguardando por um determinado job e uma outra thread, B, aguardando pelo mesmo job ou por JOB_IDS_SESSION_ANY, recebe a informação que esse job terminou, a thread A deve receber a exceção InvalidJobException.
[in] | jobName | O identificador de um job ou a constante Session.JOB_IDS_SESSION_ANY que representa qualquer job da sessão ativa |
[in] | timeout | O tempo máximo (em segundos) a ser esperado pela finalização dos job ou as constantes TIMEOUT_WAIT_FOREVER e TIMEOUT_NO_WAIT. |
readonly attribute string tecgraf::openbus::DRMAA::Session::contact |
Se esse atributo for lido antes de uma chamada ao método init(), retorna uma string contendo a lista (separada por vírgula) com os nomes das instalações DRMAA disponíveis. Cada um desses nomes representa uma instalação específica de um sistema DRM específico (por exemplo, a versão do CSGRid executando em um determinado IP e porta). Se esse atributo for lido depois de uma chamada ao método init(), retorna uma string contendo a instalação DRMAA associada a sessão ativa.
readonly attribute string tecgraf::openbus::DRMAA::Session::drmaaImplementation |
Se esse atributo for lido antes de uma chamada ao método init(), retorna uma string contendo a lista (separada por vírgula) com implementações DRMAA disponíveis. A string de uma implementação DRMAA denota uma versão específica do DRMS (por exemplo, Condor v6.6). Se esse atributo for lido depois de uma chamada ao método init(), retorna uma string contendo a implementação DRMAA associada a sessão ativa.
readonly attribute string tecgraf::openbus::DRMAA::Session::drmsInfo |
Se esse atributo for lido antes de uma chamada ao método init(), retorna uma string contendo a lista (separada por vírgula) com identificadores dos DRMS disponíveis. Um identificador de DRMS denota um tipo específico de DRMS (por exemplo, Sun Grid Engine, CSGrid). Se esse atributo for lido depois de uma chamada ao método init(), retorna uma string contendo o identificador do DRMS associado a sessão ativa.
const string tecgraf::openbus::DRMAA::Session::JOB_IDS_SESSION_ALL = "DRMAA_JOB_IDS_SESSION_ALL" |
const string tecgraf::openbus::DRMAA::Session::JOB_IDS_SESSION_ANY = "DRMAA_JOB_IDS_SESSION_ANY" |
const long long tecgraf::openbus::DRMAA::Session::TIMEOUT_NO_WAIT = 0 |
const long long tecgraf::openbus::DRMAA::Session::TIMEOUT_WAIT_FOREVER = -1 |
readonly attribute DRMAA::Version tecgraf::openbus::DRMAA::Session::version |