Giter VIP home page Giter VIP logo

Comments (5)

 avatar commented on July 2, 2024

I guess you use PouchDB as a storage? It's a persistent storage so the data hasn't been removed after process termination. By default, PouchDB uses file system (LevelDB) but you may use any other adapter or pouchdb-server.

Some more information you can find in the docs.

If you have more questions please feel free to ask.

from airgram.

amir3code avatar amir3code commented on July 2, 2024

Yeah I have used pouchDB. Actually I have used your example as scaffolding for my projects (https://github.com/airgram/airgram-ts-example).
I know its a persistent storage but persistent storages have a lock mechanism which pouchdb has. But it does not remove its own LOCK file from data directory. I think this problem is from pouchdb itself or maybe you forgot to call a close like function for the database.
Anyway I am now using this in the beginning lines of index.ts file:

// remove the LOCK file before any work:
fs.unlink(__dirname + '/../data/airgram/LOCK', (err) => { })

from airgram.

 avatar commented on July 2, 2024

Can you explain why you need to delete the LOCK file?

from airgram.

amir3code avatar amir3code commented on July 2, 2024

I found where the real problem was. If my code throws some error and crashes, pouchdb does not close and does not unlock the database before its own exit. Causing errors to occur, saying that database is locked (like the one I mentioned in the first comment).
I dont know if this is a problem of pouchdb or your project but I have managed to get rid of it by removing the LOCK file before performing any action.

from airgram.

 avatar commented on July 2, 2024

Airgram provides an abstract layer for creating data store and does not provide an implementation for any particular database, so we can't check if the 'LOCK' file exists. Please do it by yourself.

Please reopen the issue if you have some more questions.

from airgram.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.