Caso 3: Aumentando a Memória de um Job
Este guia demonstra como identificar e resolver problemas de memória em jobs que estão falhando com OutOfMemoryError.
Autenticação
import requests
import json
import os
from pprint import pprint
BASE_URL = "https://maestro.dadosfera.ai"
response = requests.post(
f"{BASE_URL}/auth/sign-in",
data=json.dumps({
"username": os.environ['DADOSFERA_USERNAME'],
"password": os.environ["DADOSFERA_PASSWORD"]
}),
headers={"Content-Type": "application/json"},
)
headers = {
"Authorization": response.json()['tokens']['accessToken'],
"Content-Type": "application/json"
}
PIPELINE_ID = "7b8b3399-b8c0-4fc5-9116-142cd9f4e7ae"
JOB_ID = "7b8b3399-b8c0-4fc5-9116-142cd9f4e7ae-0"
Configurações padrão
- Todo job criado na Dadosfera inicia com 4 GB de memória
- O limite máximo via API é 12 GB
Passo 1: Aumentar Memória (PUT)
O endpoint PUT /platform/jobs/{jobId}/memory permite ajustar a memória de um job individual.
NEW_MEMORY = 8192 # 8 GB
payload = {
"amount": NEW_MEMORY
}
response = requests.put(
f"{BASE_URL}/platform/jobs/{JOB_ID}/memory",
headers=headers,
json=payload
)
pprint(response.status_code)
200
Passo 2: Re-executar Pipeline
payload = {"pipeline_id": PIPELINE_ID}
response = requests.post(
f"{BASE_URL}/platform/pipeline/execute",
headers=headers,
json=payload
)
pprint(response.json())