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.
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)
Stack
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