2012-02-15 10 views
6

He intentado utilizar base de datos web sql api en navegadores basados ​​en webkit. He estado usando async api en el ui principal y web worker. Ambos hilos acceden a la misma base de datos (que como saben es sqlite underthehood)Qué almacenamiento local en html5 puedo usar de forma segura en el hilo de la interfaz de usuario del navegador y en la cadena de trabajo web

Todo se comporta bien pero ocasionalmente se pierden transacciones o una transacción falla y parece ser una condición de tiempo/carrera. Parece que el acceso a la base de datos sqlite subyacente no es seguro para subprocesos.

Un poco más de fondo. Mi trabajador web simplemente está ejecutando una consulta en una tabla que puede tener un registro insertado desde el hilo principal de la interfaz de usuario.

Me pregunto si realmente está documentado en algún lugar que se puede acceder de manera segura a local/web storage desde el hilo ui y el hilo de trabajo web? He leído en alguna parte que el indexeddb api es seguro para subprocesos, pero eso no me ayuda ahora ya que el soporte del navegador es pobre/inexistente para los navegadores a los que me dirijo (al menos eso creo, obtengo mi información) de http://caniuse.com)

Cualquier ideas serían bien recibidas

+0

Yo ni siquiera sabía que su posible acceder al almacenamiento local de subproceso de trabajo? Consulte http://stackoverflow.com/questions/6179159/accessing-localstorage-from-a-webworker –

+0

Sí, quizás tenga razón. Posiblemente hice una suposición incorrecta ya que las bases de datos de WEB SQL son accesibles desde el hilo de trabajo. Lamentablemente, no parecen ser seguros para subprocesos cuando abre la misma base de datos sql web desde 2 el navegador ui y el trabajador web. – paul

+2

WebSQL está en desuso, por lo que supongo que no desea utilizarlo (incluso si fuera seguro para subprocesos). Pronto tendremos soporte para IndexedDB en webWorkers. –

Respuesta

Cuestiones relacionadas