|
|
|
# WORKFLOW
|
|
|
|
Esta imagem provê o serviço de submeter trabalhos na fila do slurm e acompanhar seus status, enviando e-mails quando seus status ou posição na fila mudem. Ele utiliza uma planilha do google para buscar novos trabalhos e trabalhos submetidos anteriormente. Faz buscas no banco de dados de trabalhos que ainda estejam com status de não concluídos e atualiza suas informações na planilha.
|
|
|
|
|
|
|
|
#### Planilha
|
|
|
|
Caso necessário a troca da planilha utilizada atualmente, deve ser feito a alterações no arquivo `/app/init.py` assim como nó `/app/*.json` seguindo os passos do [artigo](https://www.analyticsvidhya.com/blog/2020/07/read-and-update-google-spreadsheets-with-python/).
|
|
|
|
|
|
|
|
#### Variaveis de Ambiente
|
|
|
|
- DB_HOST: endereço do banco de dados utilizado pelo slurm.
|
|
|
|
- DB_USER: usuário do banco de dados utilizado pelo slurm.
|
|
|
|
- DB_PASSWORD: senha do banco de dados utilizado pelo slurm.
|
|
|
|
- DB_DB: banco de dados utilizado pelo slurm.
|
|
|
|
- MAIL_SERVER: endereço SMTP utilizado para envio de e-mails.
|
|
|
|
- MAIL_PORT: porta do servidor SMTP utilizado para envio de e-mails.
|
|
|
|
- MAIL_USER: usuário de servidor SMTP utilizado para envio de e-mails.
|
|
|
|
- MAIL_PASSWORD: senha do servidor SMTP utilizado para envio de e-mails.
|
|
|
|
- MAIL_EMAIL: endereço de email utilizado para o envio.
|
|
|
|
- NFS_HOST: endereço do servidor NFS utilizado para os projetos.
|
|
|
|
|
|
|
|
#### Volumes
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock - **_Necessário para submeter os trabalhos na fila via docker exec (obs: o deploy desse container deve ser feito no mesmo nó que o container [slurmctld](https://codigos.ufsc.br/setic-hpc/slurm))_**
|
|
|
|
|
|
|
|
#### Stack
|
|
|
|
```yaml
|
|
|
|
version: "3.5"
|
|
|
|
services:
|
|
|
|
workflow:
|
|
|
|
image: registry.codigos.ufsc.br/setic-hpc/workflow:latest
|
|
|
|
command: "init.py"
|
|
|
|
environment:
|
|
|
|
DB_HOST: '{DB_HOST}'
|
|
|
|
DB_USER: '{DB_USER}'
|
|
|
|
DB_PASSWORD: '{DB_PASSWORD}'
|
|
|
|
DB_DB: '{DB_DB}'
|
|
|
|
MAIL_SERVER: '{MAIL_SERVER}'
|
|
|
|
MAIL_PORT: '{MAIL_PORT}'
|
|
|
|
MAIL_USER: '{MAIL_USER}'
|
|
|
|
MAIL_PASSWORD: '{MAIL_PASSWORD}'
|
|
|
|
MAIL_EMAIL: '{MAIL_EMAIL}'
|
|
|
|
NFS_HOST: '{NFS_HOST}'
|
|
|
|
volumes:
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
``` |