Hyppää sisältöön

Operatiivinen opas

Ajastukset

Workflow Ajastus Syy
Tuotteet 15 min Tuotetiedot muuttuvat harvoin, mutta hinnat/varastosaldot voivat päivittyä
Asiakkaat 30 min Asiakastiedot muuttuvat harvoin
Tilaukset 5 min Uusia tilauksia tulee jatkuvasti, nopea synkronointi tärkeää

n8n-hallinta

Editori

Avaa selaimessa: https://n8n-rst-stel-app.rst-steel.app

API

N8N_URL="https://n8n.rst-steel.app/api/v1"
N8N_KEY="<api-avain>"

# Listaa workflowt
curl -s -H "X-N8N-API-KEY: $N8N_KEY" "$N8N_URL/workflows"

# Tarkista suoritukset
curl -s -H "X-N8N-API-KEY: $N8N_KEY" "$N8N_URL/executions?limit=10"

# Aktivoi/deaktivoi workflow
curl -s -X POST -H "X-N8N-API-KEY: $N8N_KEY" "$N8N_URL/workflows/<id>/activate"
curl -s -X POST -H "X-N8N-API-KEY: $N8N_KEY" "$N8N_URL/workflows/<id>/deactivate"

Workflow-ID:t

Workflow ID
Tuotteet n04fY4inMcJ80Y7C
Asiakkaat H1ZZodL2vhmolnxe
Tilaukset AxwSZp8rfdeizJwU

Monitorointi

Suoritushistoria (tietokannasta)

docker exec srv-captain--n8n-rst-stel-app-db.1.<task_id> \
  psql -U n8n -d n8n -c "
    SELECT id, \"workflowId\", status, \"startedAt\", \"stoppedAt\"
    FROM execution_entity
    ORDER BY id DESC LIMIT 20;"

n8n-lokit

docker logs srv-captain--n8n.1.<task_id> --tail 50

Resurssien seuranta

docker stats --no-stream | grep n8n

CPU-kuorma

Jos n8n:n CPU-käyttö nousee yli 50 % pysyvästi, tarkista:

  1. Ovatko kaikki workflowt käynnissä samanaikaisesti?
  2. Palauttaako Odoo odottamattoman paljon dataa?
  3. Onko Task Runner jumissa? (docker logs → "Offer expired")

Vianetsintä

Workflow ei laukea

  1. Tarkista onko workflow aktiivinen: GET /api/v1/workflows/<id>active: true
  2. Tarkista Schedule Trigger -noden asetukset editorissa
  3. Tarkista ettei vanha "running"-suoritus estä uusia:
    SELECT id, status FROM execution_entity
    WHERE "workflowId" = '<id>' AND status = 'running';
    

Custobar-virhe

Tarkista HTTP Request -noden vastaus execution-datasta:

curl -s -H "X-N8N-API-KEY: $N8N_KEY" \
  "$N8N_URL/executions/<exec_id>?includeData=true" | python3 -m json.tool

Odotettu onnistunut vastaus:

{"response": "ok", "run_id": "F-xxx-xxx"}

Odoo-yhteysongelma

Jos Odoo-node epäonnistuu:

  1. Tarkista onko odoo01.rst-steel.app saavutettavissa
  2. Tarkista credential n8n-editorissa (Settings → Credentials → Odoo account)
  3. Kokeile pienempää hakua editorissa (poista returnAll, hae vain 5 tietuetta)

Task Runner ylikuormittunut

n8n v2.9 käyttää erillistä Task Runner -prosessia Code-nodeille. Jos lokeissa näkyy:

Task rejected by Runner with reason "Offer expired"
Task runner timed out during task, restarting...

Ratkaisut:

  1. Vähennä samanaikaisesti käynnissä olevia workflowta
  2. Porrastaa ajastuksia (esim. tuotteet :00, asiakkaat :05, tilaukset :10)
  3. Käynnistä n8n uudelleen: docker service update --force srv-captain--n8n

Bulk-importti (uudelleenajo)

Jos haluat synkronoida kaiken datan alusta:

  1. Pysäytä kaikki workflowt
  2. Nollaa aikaleima:
    UPDATE workflow_entity
    SET "staticData" = '{"node:Schedule Trigger":{"recurrenceRules":[]},"global":{"lastSync":"2020-01-01 00:00:00"}}'
    WHERE id = '<workflow_id>';
    
  3. Käynnistä workflow — hakee kaikki tietueet joiden write_date > 2020-01-01
  4. Odota kunnes suoritus valmistuu (voi kestää tunteja suurella datamäärällä)
  5. Aktivoi normaali ajastus uudelleen

Varoitus

Bulk-importti voi kuormittaa sekä Odoo-palvelinta että n8n:ää. Aja yksi workflow kerrallaan ja seuraa resurssien käyttöä.

Deployment (workflowjen päivitys)

Vaihtoehto 1: n8n REST API

# Deployaa workflow JSON-tiedostosta
curl -s -X PUT \
  -H "X-N8N-API-KEY: $N8N_KEY" \
  -H "Content-Type: application/json" \
  -d @workflow-customers-incremental.json \
  "$N8N_URL/workflows/H1ZZodL2vhmolnxe"

Vaihtoehto 2: Suora tietokantapäivitys

Käytä update-db-workflows.py-skriptiä kun n8n API ei vastaa (esim. ylikuormitustilanteessa).

Vaihtoehto 3: n8n-editori

Avaa workflow editorissa, tee muutokset visuaalisesti, ja tallenna.