Seapig¶ ↑
Nothing here yet.
To cover:
-
what are seapigs and why they exist? (why not just having a db table?)
-
properties of seapig system
-
data is cached in memory
-
only diffs are sent
-
data is generated in separate processes
-
data gets regenerated on dependency change (immediately on db change)
-
-
describe current limits
-
one level deps only
-
single object can have at most one generation process running at all times
-
cache is dropped when last client unlinks
-
no client-side timeout detection
-
postgres only (but is that really a problem? ;))
-
-
graph of server/client side seapig object states
-
disclaimer on non-efficient code. it’s all a draft, a test of idea.
-
rails not needed
-
stuff will change
-
seapig = firebase for apps that need real db
-
works nicely with mithril
-
how to use this shit
-
dummy app is a minimal demo
-
bundle exec rails s
-
bundle exec ruby ../../bin/seapig-server.rb
-
bundle exec ruby ../../bin/seapig-worker.rb ws://127.0.0.1:3001/seapig
-
bundle exec ruby ../../bin/seapig-notifier.rb ws://127.0.0.1:3001/seapig
-
application.js needs: require seapig/seapig
-
application.js needs: require json-patch
-
ActiveRecord models that are used for triggering regeneration of data need:
-
acts_as_seapig_dependency
-
and seapig_dependency_changed after commits
-
-