Couch-namens-Python

CouchDB-Ansichtsserver, der Funktionen auf dem Python-Pfad nach Namen ausführt
Jetzt downloaden

Couch-namens-Python Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL v3
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Daniel Richman
  • Website des Verlags:
  • https://github.com/danielrichman/

Couch-namens-Python Stichworte


Couch-namens-Python Beschreibung

couch-named-python ist ein couchdb-View-Server, der Funktionen auf dem Pythonpfad durchführt. Weniger Ordner mit einem Wrapper-Skript, der den PythonPath setzt und dann couch_named_python.pyviews ruft: Main. In diesem Beispiel verwende ich virtualenv: virtualenv / opt / couch_vsource / opt / couch_vs / bin / activatepip installieren couch-named-python myfunctions # oder überprüfen Sie jedes Paket, und verwenden Sie ./setup.py installieren, während virtuenv'd.next , bearbeiten /etc/couchdb/local.ini und fügen Sie den Query_Servers hinzu: Python = / opt / couch_vs / bin / couch-named-pythonand restart couchdbusagefunktionen im design doc sind nur module.module.module.Function-Pfade , wenn myViews.py (der in der / opt / couch_vs Python-Pfad von PIP) installiert ist (21) def validate (neu, alt, userctx, secobj): Wenn userctx ! = "Daniel": nicht autorisiert ("Nein") Elif "Town" nicht in Neu: Erhöhen verboten ("Keine Stadt in doc ") Dann könnte das Design-Doc {" ID "sein:" _design / location "," Ansichten ": {" Städte ": {" map ":" myviews.townmap | 123 "}}," validate_doc_update ":" MyViews .Validate | 21 "," Sprache ":" Python "} dh das FO rmat ist module.module.function | version.sie lieber deinen design doc in einer yaml-Datei, wie folgt : Passwort @ localhost: 5984 mydatabase design.ymlwill hochladen das gleiche Design-Dokument wie oben. Möglicherweise verfügen Sie über mehrere Design-Dokumente in einer YAML-Datei. Wenn eine Ansicht keine Reduzierung der Funktion hat, können Sie die Karte weglassen:, wie so: design_a: Ansichten: ONE: MODUL.PATH 2: Modul.OtherDesign_B: Ansichten: Statistiken: Karte: module.map Reduzieren Sie: Modul.RoduceFurThermore, CNP-Upload-Importe, erkennt und hängt den | Versions-Suffixe für Sie fest (Hinweis, wie sie in dem obigen YAML genommen werden, er produzieren jedoch genau das gleiche Design-Doc wie das Beispiel). Ihr Modul muss daher auf dem Pfad sein. Stellen Sie daher sicher, dass Sie Ihr Virtualenv haben, wo der View-Server aktiviert ist. Rational für @Version Decorator Und mit Änderungen umgehen Der Ansichten ist mit Sigterm oder Fehler sterben, um es zu zwingen, ihn zum Nachladen von Code.- couch-named-python kann COUKDB nicht erkennen, dass die Sichtfunktion geändert wurde. CouchDB glaubt nicht einmal, dass sich die Sichtfunktion geändert hat, es sei denn, Sie ändern den String für die Funktion im Designdokument (Speichern des Dokuments ohne Änderungen oder Änderung anderer Attribute funktioniert nicht) .- Es ist eigentlich ziemlich schwierig für couch-named-python Um sogar zu trainieren, wenn sich das Verhalten der Sichtfunktion geändert hat, ist die einfachste Lösung mit einer manuell geänderten 'Version' die einfachste Lösung. Wenn ein Upgrade ein Upgrade tut, müssen Sie: - Ihr Python Dateien, das Ändern der @version auf Funktionen, deren Verhalten die Design-Docs für diese Funktionen erneut hochladen kann Server-Server erhöht einen Fehler und stirbt. Dies führt wahrscheinlich dazu, dass die Anforderung, die das Ansichtsupdate initiiert hat, zu fehlgeschlagen und stattdessen einen {"ERROR": BLAH} Antwort von Couch erstellen. Die Erfrischung der Seite startet den Ansichtsserver neu, laden Sie die aktualisierte Datei und führen Sie die Ansicht ordnungsgemäß aus. (Alternativ können Sie den Ansichtsserverprozess selbst töten. Wenn es damals im Leerlauf ist, dagegen, dass die Couch nicht länger ist, und beschweren sich nicht auf der ersten Ansichtslast.) Verwendung der Versions-Dekorateur und das Überprüfen dessen ist optional, aber stark empfohlen . Sie können einfach Funktionen ohne Dekorateur verwenden und module.module.function in das Design-Dokument geben, wenn Sie möchten. PRODUCT-Homepage


Couch-namens-Python Zugehörige Software