¿Hay alguna manera de escribir y leer archivos en un sistema de archivos remoto (como NFS, SSHFS o sambafs) de forma que se lea o escriba o incluso se abra devolver inmediatamente con ¿código de error? De hecho estoy usando Twisted y quiero saber si hay una forma segura de acceder a los archivos remotos sin bloquear mi reactor.Cómo bloqueo de lectura/escritura a través del sistema de archivos remoto
Respuesta
En Twisted, para sistemas de ficheros remotos al igual que para cualquier otro llamadas de bloqueo, se puede utilizar threads.deferToThread - una forma razonablemente elegante para hacer frente a llamadas al sistema de bloqueo molestos -)
Esto es realmente muy similar a mi pregunta here. Parece que la única forma de evitar las limitaciones del sistema operativo, en este momento, es usar hilos o procesos externos para manejar su archivo IO por usted.
En una vida anterior (no python o retorcida, pero muy asincrónica), terminamos abstrayendo el archivo IO en un daemon separado que era esencialmente nuestro "trabajador del sistema de archivos".
Las versiones 2.6.x de Linux parecen haber agregado más soporte para IO asíncrono a nivel de núcleo, con libaio siendo el soporte para ello, pero parece bastante arcano y bastante dudoso en lo que realmente admite.
- 1. Conectar al sistema remoto a través del socket
- 2. Carga de archivos del servidor remoto a través de PHP
- 3. mysql sql importación a través de CLI del servidor remoto
- 4. carga de archivos a través del iPad
- 5. RMI-¿Cómo funciona el paso de un objeto remoto a través de un método remoto?
- 6. Copie la imagen del servidor remoto a través de HTTP
- 7. Cómo pasar parámetros con espacios a través del sistema cstdlib
- 8. Cómo aislar las causas del bloqueo del sistema Unix/OSX
- 9. Agregar control remoto a través de JGit
- 10. depurador remoto a través de internet
- 11. Cómo depurar el bloqueo del sistema de archivos FUSE en Linux
- 12. ¿Cómo leo archivos seleccionados de un archivo Zip remoto a través de HTTP usando Python?
- 13. GDB con ECLIPSE GUI a través del servidor remoto?
- 14. Desarrollando a través de Escritorio remoto
- 15. Buscando un sistema de archivos remoto basada en REST
- 16. Cómo sincronizar archivos a través de FTP con Eclipse RSE?
- 17. Escuchante del sistema de archivos
- 18. Cómo enviar MotionEvent sintetizado a través del sistema?
- 19. Permisos del sistema Android a través de Root
- 20. Tamaño del bloque del sistema de archivos
- 21. Eliminar archivos con python a través del shell del sistema operativo
- 22. Cómo incluir archivos de encabezado a través del archivo MAKE
- 23. vigilante del sistema de archivos y archivos de gran tamaño
- 24. Android - Activación del sistema de bloqueo de teclas (también conocido como bloqueo de pantalla)
- 25. Bloqueo de archivos Java
- 26. Transfiriendo archivos a través de SSH
- 27. de aplicación del sistema de archivos básica
- 28. Restringir el acceso de los complementos al sistema de archivos y a la red a través del dominio de aplicación
- 29. ¿Cómo eliminar archivos del repositorio remoto de git bare?
- 30. Diario del sistema de archivos de Android
Desafortunadamente AIO no está en tan buena forma: http://stackoverflow.com/questions/87892/what-is-the-status-of-posix-asynchronous-io-aio (El primer enlace en la pregunta es de particular interés) –