CLI rb script maar 1 keer via de crontab laden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer / Innovatieve software / Virtual Re

Functieomschrijving Als .Net developer werken aan innovatieve software waar onder andere gebruik gemaakt wordt van Virtual Reality? Bijdragen aan een organisatie waar je uitgedaagd wordt om continu verbeteringen en ontwikkelpunten te ontdekken en door te voeren? Werken in de omgeving Putten? Reageer dan nu voor meer informatie! Het pro-actief aandragen van verbeteringen voor de bestaande applicatie; Ontwikkelen van nieuwe functionaliteiten; Doorvoeren van aanpassingen en wijzigingen; Verantwoordelijk voor koppelingen met andere systemen; Op de hoogte blijven van technische ontwikkelingen. Functie-eisen Hbo werk- en denkniveau; Een afgeronde IT gerelateerde opleiding; Minimaal 1 jaar professionele ervaring als developer; Aantoonbare kennis van C#; Initiatiefrijke

Bekijk vacature »

Daniel van Seggelen

Daniel van Seggelen

08/12/2017 17:23:59
Quote Anchor link
HEt is zo.

Ik heb een ruby script die ik laad. Maar hij kapt er soms mee na een tijd inactief te zijn.
Ik zou graag willen dat ik in een crontab dit script laad om bijv een uur en dat hij hem niet dubbel laad.
Hij mag maar 1 keer actief geladen worden.

Ik lees dit over het lock mechanisme:
https://stackoverflow.com/questions/42884888/ruby-file-lock-with-nfs-to-run-single-instance-of-the-script

Maar ik weet niet of dit de beste wijze is om dit script te implemteren?
 
PHP hulp

PHP hulp

18/08/2019 20:12:41
 
Dennis WhoCares

Dennis WhoCares

08/12/2017 20:33:03
Quote Anchor link
Hi Daniel,

ik ben niet bekend met ruby, maar je kan het zo simpel maken als je zelf wilt.

Je kan bijv. controlleren of er een file bestaat aan het begin van je script.
Zo niet, maak je de file aan.
Als de file er wel is, stop dit script

Aan het einde van je script, deze file weer verwijderen.
 
- Ariën -
Beheerder

- Ariën -

08/12/2017 20:34:48
Quote Anchor link
Met andere woorden, je creëert op die manier een 'lock-file'. En dit is ook de meeste simpele manier.
 
Rob Doemaarwat

Rob Doemaarwat

08/12/2017 22:07:35
Quote Anchor link
Als je dan checkt of een bestandje al bestaat - en hij bestaat, check dan ook even hoe oud ie al is. Als je script normaal altijd met een uur (of twee) klaar is, en het bestand is inmiddels 4 uur of ouder, dan is er waarschijnlijk iets mis gegaan => aan de alarmbel trekken, en evt bestand verwijderen = opnieuw beginnen. Dat laatste alleen als het "geen kwaad kan" (of in ieder geval minder kwaad dan een proces dat het hele weekend niet loopt).
 
Thomas van den Heuvel

Thomas van den Heuvel

10/12/2017 16:35:52
Quote Anchor link
En zorg ook dat het aanmaken+controleren van de lock-file atomair geschiedt, anders heb je enkel het probleem verplaatst :p.

Als het script gebruik maakt van een database zou je dit daar direct op kunnen lossen met behulp van een transactie?
 
Daniel van Seggelen

Daniel van Seggelen

14/12/2017 21:22:29
Quote Anchor link
Sorry voor de late reactie,

Het lijkt simpel, maar ik ben geen linux specialist en heeft iemand en voorbeeld hoe ik elke 3 uren kan kijken of een script actief aan het laden is, en zoniet starten?
Ik krijg het niet voor elkaar.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.