Mijn vraag
Ik ben nu een tijdje aan het coden in Python, voornamelijk om een netwerk te ondersteunen. Maar de kennis en scripts worden steeds breder getrokken. Om te voorkomen dat ik troep ga opleveren / in productie plaats wil ik een mooi stukje software schrijven welke tegen een stootje kan en collega's zonder programmeer kennis (ja die zijn er genoeg in de netwerk business
) de code ook kunnen gebruiken.
Ik neem als voorbeeld een script welke ik redelijk netjes heb gemaakt, een synchronisatie script om tegen een IPAM aan te praten en deze hosts automatisch in ons monitoring pakket te plaatsen. Onderhuids maakt het gebruik van de requests library.
Een aantal dingen welke ik nu probeer vast te houden:
- Gebruik logging module voor strout logging als voor extern loggen naar een .log bestandje.
- Gebruik custom error classes. Handig voor latere module import en om de code simpel te houden.
- Maak gebruik van classes / methods etc.
- Externe credentials / IP adressen etc in een apart .cfg bestand of als enviroment variable.
- Gebruik cronjob's om het script bijv. om het uur af te schieten.
Volgens mij is dit niet al te slecht. Maar met bijvoorbeeld die cronjob vind ik het lastig om in te schatten of iets werkt ja / nee. Natuurlijk kan je het log bestand een tail geven en zoeken naar error codes maar met de gedachte dat ik dit werk ook aan mijn collega's moet kunnen geven word ik hier niet heel warm van.
Wat ik vaker zie met de python projecten welke wat ingewikkelder in elkaar zitten is bijv. aanroepen middels systemctl. Waarin je precies kan zien wat de status van het script is, laatste paar log entries etc. Maar ook bijvoorbeeld de log locatie vind ik lastig. Is het handig om deze in /var/log te plaatsen en zo ja wat komt hier bij kijken etc.
Wat heb ik al gevonden
Ik heb al even rond gekeken op Google naar deze vragen. Al snel kom ik op pagina's met "how to package your application" etc. Maar is dat niet een beetje overkill voor een simpel synchronisatie scriptje denk ik dan...
Mogelijk zijn er Tweakers met iets meer ervaring die een kijkje in hun keuken kunnen geven. Ik kom er niet snel meer uit, iedere site lijkt nu wel een andere oplossing te vinden en ik ben erg benieuwd wat er benodigd is in mijn situatie.
Ik ben nu een tijdje aan het coden in Python, voornamelijk om een netwerk te ondersteunen. Maar de kennis en scripts worden steeds breder getrokken. Om te voorkomen dat ik troep ga opleveren / in productie plaats wil ik een mooi stukje software schrijven welke tegen een stootje kan en collega's zonder programmeer kennis (ja die zijn er genoeg in de netwerk business

Ik neem als voorbeeld een script welke ik redelijk netjes heb gemaakt, een synchronisatie script om tegen een IPAM aan te praten en deze hosts automatisch in ons monitoring pakket te plaatsen. Onderhuids maakt het gebruik van de requests library.
Een aantal dingen welke ik nu probeer vast te houden:
- Gebruik logging module voor strout logging als voor extern loggen naar een .log bestandje.
- Gebruik custom error classes. Handig voor latere module import en om de code simpel te houden.
- Maak gebruik van classes / methods etc.
- Externe credentials / IP adressen etc in een apart .cfg bestand of als enviroment variable.
- Gebruik cronjob's om het script bijv. om het uur af te schieten.
Volgens mij is dit niet al te slecht. Maar met bijvoorbeeld die cronjob vind ik het lastig om in te schatten of iets werkt ja / nee. Natuurlijk kan je het log bestand een tail geven en zoeken naar error codes maar met de gedachte dat ik dit werk ook aan mijn collega's moet kunnen geven word ik hier niet heel warm van.
Wat ik vaker zie met de python projecten welke wat ingewikkelder in elkaar zitten is bijv. aanroepen middels systemctl. Waarin je precies kan zien wat de status van het script is, laatste paar log entries etc. Maar ook bijvoorbeeld de log locatie vind ik lastig. Is het handig om deze in /var/log te plaatsen en zo ja wat komt hier bij kijken etc.
Wat heb ik al gevonden
Ik heb al even rond gekeken op Google naar deze vragen. Al snel kom ik op pagina's met "how to package your application" etc. Maar is dat niet een beetje overkill voor een simpel synchronisatie scriptje denk ik dan...
Mogelijk zijn er Tweakers met iets meer ervaring die een kijkje in hun keuken kunnen geven. Ik kom er niet snel meer uit, iedere site lijkt nu wel een andere oplossing te vinden en ik ben erg benieuwd wat er benodigd is in mijn situatie.
Mensen zijn gelijk, maar sommige zijn gelijker dan andere | Humans need not apply