Wat het doet
- Later uitvoeren. Plan een job op een moment, of over een aantal seconden, tot ruim een jaar vooruit.
- Op een vast ritme. Een schema zoals "elke werkdag om 08:00" rekent in de tijdzone die je opgeeft. Bij de overgang naar zomer- of wintertijd blijft het 08:00.
- Een webhook of een andere dienst. Op het afgesproken moment roept Jobs een adres van je project aan, ondertekend, met de gegevens die je bij het plannen meegaf. Of Jobs roept namens je project een andere Servent-dienst aan.
- Vervangen in plaats van verdubbelen. Geef een job een eigen sleutel, zoals
herinnering:afspraak-42. Wordt de afspraak verzet, dan plan je opnieuw met dezelfde sleutel en vervangt de nieuwe job de oude. - Annuleren. Eén job, alle jobs met een sleutel, of alles van één klant van je project in één keer.
- Opnieuw tot het lukt. Geeft je project een fout of is het even onbereikbaar, dan probeert Jobs het opnieuw, met een wachttijd die steeds langer wordt, tot een uur. Standaard vijf keer.
- Mislukt is zichtbaar. Lukt ook de laatste poging niet, dan krijgt de job de status "mislukt", met de reden. Je start hem met één aanroep opnieuw.
- Inzicht. Je ziet wat er gepland staat, wat er liep en hoe elke poging afliep. Tot 500 jobs plan je in één keer.
Welke rol het speelt
Jobs vervangt de eigen wachtrij, de cronjobs en het achtergrondproces van je project. Jobs kent je product niet: of een herinnering nog moet worden verstuurd, beslist je project op het moment dat de job binnenkomt. Antwoordt je project dat het niet meer nodig is, dan stopt Jobs.
Hoe het je helpt
Een eigen achtergrondproces moet draaien, bewaakt worden en na een crash weer verder kunnen. Jobs doet dat voor je. Loopt een job vast, dan komt hij na ongeveer een minuut terug in de rij. En een project met duizenden jobs op hetzelfde moment houdt de jobs van andere projecten niet op.
Wat het je oplevert
- Geen eigen worker, wachtrij of cron om te bouwen, te draaien en te bewaken.
- Werk op tijd: een job gaat binnen een paar seconden na het geplande moment.
- Geen dubbele herinneringen na een verzette afspraak.
- Fouten die zichzelf herstellen, en mislukte jobs die je terugziet.
Werkwijze
- Zet Jobs aan in je Servent-account en maak een sleutel; dat kan een owner of admin van het account. Registreer daarna het adres waarop je project jobs ontvangt.
- Plan een job: het moment, het doel, de gegevens en eventueel een eigen sleutel. Of maak een schema met een ritme en een tijdzone.
- Op het moment zelf roept Jobs je project aan, ondertekend. Je project controleert de handtekening en doet het werk.
- Je project antwoordt: gelukt, niet meer nodig, of een fout. Bij een fout probeert Jobs het later opnieuw.
- Een job komt minstens één keer aan, en heel soms twee keer, bijvoorbeeld na een storing. Je project herkent een herhaling aan het id in de kop van het bericht.
Stand
Beschikbaar Jobs, schema's en nieuwe pogingen, op api.servent.nl/jobs.