couch-genaamd-Python

CouchDB Bekijk de server die functies op het Python-pad uitvoeren op naam
Download nu

couch-genaamd-Python Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL v3
  • Prijs:
  • FREE
  • Naam uitgever:
  • Daniel Richman
  • Uitgever website:
  • https://github.com/danielrichman/

couch-genaamd-Python Tags


couch-genaamd-Python Beschrijving

Couch-Named-Python is een CouchDB-view-server die functies op het Python-pad uitvoert bij Name.Installationyou heeft een bank-genaamd-Python nodig en uw functies geïnstalleerd in hetzelfde Python-pad, zijn het wereldwijd, in een VirtualenV of een distributie Minder map met een wrapper-script dat het PythonPath instelt en vervolgens couch_named_python.pyviews: Main. In dit voorbeeld gebruik ik Virtualenv: virtualenv / opt / couch_vssource / opt / couch_vs / bin / activatepip Installeer bank-genaamd-python myFunctions # of bekijk elk pakket en gebruik ./Setup.py-installatie terwijl virtualenv'd.next , bewerk /etc/couchdb/local.ini en voeg toe aan de sectie Query_Servers: Python = / OPT / COUCH_VS / BIN / COUCH-NAME-PYTHONAND HERSTART COUCHDBUSAGEFUNCTIES IN HET ONTWERP DOC ZIJN ENKEL MODULE.MODULE.MODULE.FUNCTIE PATTEN Bijvoorbeeld als MyViews.py (die is geïnstalleerd in de / OPT / COUCH_VS Python Path per PIP) ContainedFrom Couch_NAME_PYTHON import Ongeautoriseerd, Verboden, Versie @ Versie (123) Def TownMap (DOC): Yield Doc @-versie (21) Def validate (nieuw, oud, userctx, secobj): if userctx ! = "Daniel": raise ongeautoriseerd ("nee") Elif "stad" niet in nieuw: verhoog het verboden ("No Town in DOC ") Dan is het DOCE DOD MEER MEERDIG {" ID ":" _design / locatie "," Bekeken ": {" toven ": {" map ":" MyViews.Townmap | 123 "}}," validate_doc_update ":" MyViews .validate | 21 "," Taal ":" Python "} IE, de FO RMAT is module.module.functie | Versie. U kunt het liefst uw ontwerp document beschrijven in een YAML-bestand, zoals deze: Locatie: Views: steden: mode: Myviews.townmap validate_doc_update: MyViews.Validatethen RunningCnp-upload http: // admin : Wachtwoord @ Localhost: 5984 MyDatabase Design.ymlwill Upload hetzelfde ontwerp DOC zoals hierboven. Mogelijk heeft u meerdere ontwerpdocumenten in een YAML-bestand en als een weergave geen functie heeft, kunt u de kaart weglaten:, zoals SO: Design_A: Bekeken: One: Module.path Two: Module.AtherDesign_b: Bekeken: Statistieken: Kaart: Module.map Verminderen: Module.reduceFurTherMore, CNP-upload importeert, detecteert en voegt de | Versie achtervoegsels voor u aan (let op hoe ze in de bovenstaande YAML zijn aangemoedigd, maar het zou exact hetzelfde ontwerp DOC als het voorbeeld produceren). Uw module moet daarom op het pad staan, dus zorg ervoor dat u uw virtualenV hebt waar de weergaveserver geactiveerd is. Rationeel voor @version-decoratorWanneer de code wordt opgeslagen in het ontwerpdocument, zoals met de standaard JavaScript-weergave en omgaan met veranderingen. We hebben een paar problemen: - Couch-genaamd-Python herlaadmodules niet opnieuw. De Viewwerver zal door Sigterm of Fout moeten sterven om het te dwingen om code te herladen .- Couch-Name-Python kan CouchDB niet vertellen dat de weergavefunctie is gewijzigd. CouchDB zal niet eens denken dat de weergavefunctie is gewijzigd, tenzij u de tekenreeks aanpast voor de functie in het Design Document (het opslaan van de DOC zonder wijzigingen of het aanpassen van andere kenmerken werkt niet) .- Het is eigenlijk vrij moeilijk voor Couch-Named-Python Om zelfs te trainen als het gedrag van de weergavefunctie is gewijzigd, omdat het over meer dan één bestand kan worden gespreid. Optiende functies met een handmatig gewijzigde 'versie' is de gemakkelijkste oplossing. Wanneer u een upgrade doet, moet u: - Update uw Python Bestanden, het wijzigen van de @Version over functies waarvan het gedrag is gewijzigd - Upload het ontwerp DOCKS voor deze functies - Laad een weergave om te controleren of alles back-up is. Als de versies op een geladen functie en het ontwerp DOC niet overeenkomen Bekijk de server verhoogt een fout en sterft. Dit zal waarschijnlijk het verzoek veroorzaken dat de weergave-update heeft gestart om te mislukken en in plaats daarvan een {"-fout": Blah}-reactie van de bank te produceren. Verfrissend De pagina start de weergaveserver opnieuw, laadt u het bijgewerkte bestand en voert u de weergave correct uit. (Als alternatief kunt u het proces Server-proces zelf doden. Als het op het moment inactief is, zal de bank niet erg vinden en niet klagen op de eerste keer lading.) Gebruik van de versiering van de versie en het controleren daarvoor is optioneel maar sterk aanbevolen . U kunt eenvoudig functies gebruiken zonder de decorateur en put module.module.function in het ontwerpdocument als u wenst.Product's startpagina


couch-genaamd-Python Gerelateerde software