In asynchronen Umgebungen ist threading.local
nicht garantiert, dass es sich um einen kontextlokalen Kontext handelt, da mehrere Kontexte innerhalb eines einzelnen Threads koexistieren können. Die meisten asynchronen Frameworks (gevent, eventlet) stellen eine get_current_context()
Funktionalität bereit, um den aktuellen Kontext zu identifizieren. Einige bieten eine Möglichkeit zum Monkey-Patch threading.local
, so dass es lokal für 'Greenthreads' oder andere Framework-spezifische Kontexte ist. Ich kann eine solche Funktionalität in der verdrehten Dokumentation nicht finden. Wie mache ich das?threading.local Entsprechung für twisted.web?
5
A
Antwort
3
Ich gehe davon aus, dass Sie diese API verwenden möchten, um pro-Request-Status zu speichern und abzurufen. Wenn nicht, dann möchten Sie vielleicht Ihre Frage klären.
Twisted Web bietet keine API in diesen Bereichen. Da Sie für die gesamte Lebensdauer der Anfrage die Kontrolle haben, ist es möglich für Sie, jede per-Anfrage Staat selbst zu speichern: auf Resource
Instanzen, in den Einheimischen, in Argumente zu Rückrufen, etc. Eine get_current_context
Funktion ist eine Art der Multithread-Äquivalent zur Verwendung von Globals, um Ihren Status zu verfolgen. Wenn Sie so darüber nachdenken, ist es hoffentlich ein wenig offensichtlicher, warum Sie alternative Lösungen in Erwägung ziehen sollten.
Verwandte Themen
- 1. Django auf twisted.web laufen lassen
- 2. IronClad-Entsprechung für Jython
- 3. find_by_sql Entsprechung für Mongoid?
- 4. FirebaseListAdapter-Entsprechung für com.google.firebase.database.FirebaseDatabase;
- 5. TPagecontrol Entsprechung für Firemonkey
- 6. mysql_fetch_assoc Entsprechung für informix
- 7. .NET-Entsprechung für GetLastInputInfo?
- 8. reagierende native Entsprechung für inputElement.setSelectionRange?
- 9. Dart-Entsprechung für Java's StringBuilder
- 10. Entsprechung von PathMatchSpec für .NET
- 11. QStackedWidget Entsprechung für Java Swing
- 12. wie session/cookie in twisted.web zu verwenden?
- 13. Enumerable.Empty <T>() Entsprechung für IQueryable
- 14. runCommand Entsprechung für nodejs-native-mongodb
- 15. Implizite DataTemplate-Entsprechung für Silverlight + Prism
- 16. Winapi-Entsprechung für den Befehl fsutil queryfilenamebyid
- 17. rundll32.exe Entsprechung für 64-Bit-DLLs
- 18. madSHI MadExcept Entsprechung für .NET (C#)
- 19. Haskell-Entsprechung für Python -m http.server?
- 20. PHP Entsprechung für Markup in Nodejs
- 21. Entsprechung von wählen für Rohre auf Windows
- 22. Hat .gitignore eine Entsprechung für versionsgesteuerte Dateien?
- 23. Gibt es eine SSE2-Entsprechung für _mm_insert_epi32?
- 24. .NET Framework-Entsprechung für Python's imghdr
- 25. Gibt es eine Sprintf-Entsprechung für node.js
- 26. date_create_from_format Entsprechung für PHP 5.2 (oder niedriger)
- 27. Entsprechung in ActionScript 3
- 28. GM_addStyle Entsprechung in TamperMonkey
- 29. Befehlszeilenautomatisierung - Entsprechung erwarten
- 30. RichTextBox Entsprechung von TextBox.AcceptsReturn