Jump to content


Photo

QN about RootsMagic architecture


  • Please log in to reply
1 reply to this topic

#1 pbooth99

pbooth99

    Advanced Member

  • Members
  • PipPipPip
  • 33 posts

Posted 02 January 2019 - 01:32 PM

Hello,

 

I don't know anything about the architecture of RootsMagic - aside from it's use of Sqlite as a persistent store.

 

Does the language/tech stack allow you to create features that make use of long-running background jobs that

can do work asynchronously, without interrupting user interaction? I'm thinking of things like bulk addition of

people to existing ancestry trees, duplicate searches on large databases, and the like.

 

thanks,

 

Peter Booth



#2 TomH

TomH

    Advanced Member

  • Members
  • PipPipPip
  • 6000 posts

Posted 02 January 2019 - 03:02 PM

I would say not if the async outboard process writes to the database. SQLite allows only 1 writer, other writers are locked out. It does allow concurrent readers. RootsMagic writes frequently even when just browsing the file. And sometimes, one or the other puts or leaves a lock on the file that blocks the other and can be badly handled by RM (e.g., stasis). That said, I have had infrequent issues if I am careful when alternating between the two without actually 'closing' the other. 

 

If you are interested in learning more of what has been divined about the RM7 architecture, the link in my sig should take you to an interim site as I struggle to complete a migration from the now defunct Wikispaces to WordPress (or something else if need be).


Tom user of RM7550 FTM2017 Ancestry.ca FamilySearch.org FindMyPast.com
SQLite_Tools_For_Roots_Magic_in_PR_Celti wiki, exploiting the database in special ways >>> RMtrix-tiny.png app, a bundle of RootsMagic utilities.