Aide · silicon ioi

ioi Script Scheduler

Fiche

→ Controleren en uitvoeren van geplande achtergrondscripts

Inleiding #

Deze tool is ontworpen voor zeer specifieke noden. Ze laat toe te controleren of het nodig is een script uit te voeren om gegevens aan te passen.Deze tool is strikt voorbehouden aan ioi-experts.

Waarschuwing #

Het gebruik van deze tool kan de gegevensconsistentie in gevaar brengen en leiden tot vergrendelingen, fouten of onderbrekingen van processen.Je bent volledig zelf verantwoordelijk voor het gebruik ervan.

Voor gebruik in een productieomgeving:

  • Test je scripts in een sandboxomgeving
  • Controleer de gegevens- en procesconsistentie
  • Maak een volledige back-up
  • Informeer gebruikers over een eventueel herstelplan bij fouten

Attention

Hoog risico: SQL-scripts kunnen in strijd zijn met de consistentieregels of de businesslogica van het framework.

Een gepland script aanmaken #

Basisinformatie #

  • Maak een geplande script aan in ioi
  • Een beschrijving is verplicht
  • Bepaal de frequentie van uitvoering:
    • Op een specifieke datum
    • Op een specifieke weekdag
    • Op een specifieke dag van de maand
  • Bepaal het tijdstip van uitvoering
  • Het selectievakje Is running geeft aan of er momenteel een achtergrondproces actief is
  • De knop Reset reset de uitvoeringsstatus

Astuce

Gebruik dit alleen als de server werd afgesloten tijdens de uitvoering van het script.

Controle vóór uitvoering #

Bepaal of een voorwaarde moet worden gecontroleerd vóór het script wordt uitgevoerd.Deze controle kan zijn:

  • Uitgeschakeld
  • Gedefinieerd in Python
  • Gedefinieerd in SQL

SQL-modus #

Als het resultaat van de query niet leeg is, wordt het script uitgevoerd.

Voorbeeld:

SELECT name FROM `tabioi Customer` WHERE country_id = 'BE' LIMIT 1;

Python-modus #

Als de verplichte variabele ret_value gelijk is aan 1, wordt het script uitgevoerd.

Voorbeeld:

ret_value = 0

sql = "SELECT name FROM `tabioi Customer` WHERE country_id = 'BE' LIMIT 1"

res = frappe.db.sql(sql)

if res:
    ret_value = 1

Uit te voeren script #

Het script kan geschreven worden in Python of SQL, afhankelijk van je behoefte.

Je script testen #

Klik op de knop Verify.

Werking van de test #

Het script wordt volledig uitgevoerd, maar op het einde wordt een rollback gedaan.Zo kun je fouten opsporen zonder impact op de echte gegevens.

Attention

Voeg geen commit-instructies toe aan het testscript.

Onmiddellijke uitvoering #

Met de knop Launch now kun je het script onmiddellijk uitvoeren, zonder rekening te houden met de geplande datum of periodiciteit.

Gebruik deze functie om je script te testen in een sandboxomgeving.