Meeseeker Mosly Minor Steem Engine Fixes - 0.0.7

in utopian-io •  6 years ago  (edited)

Most of these changes address bugs involving Steem Engine sync capability. If you're just using meeseeker for following steem blocks, this update will have almost no impact.

Having said that, if you run the Docker version of meeseeker, it might be a good idea to update because this version affects the internal ruby version and adds stability. I only observed instability problems around Steem Engine sync, but there might be issues I didn't discover around steem sync (see section entitled Dockerfile Overhaul, below).

What Changed ...

I'll go over each commit that affects meeseeker version 0.0.7.

Publishing Steem Engine Contract Namespace 60c9908

In addition to each specific contract actions, meeseeker now publishes the contract itself. This means that if you wanted, you could subscribe to the #steem_engine:market channel to get notifications for all three contract actions (buy, sell, cancel).

Fixed Steem Engine Sync Resume 7d6784f

There was a bug in meeseeker sync steem_engine that caused resumed syncs to start over if they were originally started on a specific block (e.g.: If you first started on block 9001 with: meeseeker sync steem_engine 9001, then ^C to stop the sync, the next meeseeker sync steem_engine would start on block 1).

Renamed Internal Steem Engine Block Number Cursor ec8df4

Internally, the name of the cursor was incorrect which caused the reset task to effectively drop both the steem and steem_engine namespace at once. This change will cause existing redis databases to skip to the latest block once, unless you specify meeseeker sync steem_engine [block_num] once.

Steem Engine Diagnostics Task 585d18d

This is mostly just for my own curiosity and not a feature exposed in the meeseeker command. If you execute this task (rake steem_engine_ref_blocks), meeseeker will iterate all of the steem_engine:* keys and verify that the blocks on the main chain match the side-chain.

Added "Until Block" Option 642585e

Again, more of an internal feature. I needed a way for tests to stop processing rather than stream forever.

Dockerfile Overhaul 6c9c981

Although this affects both the steem and steem_engine namespaces, it only affects people who run meeseeker in Docker. This specifically fixes a bug in the steem_engine streaming functionality, but in doing so, updates steem streaming as well.

What I did was switch from the debian distribution of ruby over to rvm (Ruby Version Manager). This is because the docker image I use is on stretch, which is a pretty old version that, by default, can only install ruby-2.3.

This change puts the Docker version of meeseeker on ruby-2.6.

Just like before, this will launch meeseeker in a docker container, so you can immediately attach to it on port 6380.

docker run -d -p 6380:6379 inertia/meeseeker:latest
redis-cli -p 6380

To update your gem:

gem update meeseeker

Previous posts:

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

I am a big fan of the idea and architecture and implementation of meeseeker. Good to see it's getting constant updates.

Changelog is detailed it seems lots of adjustments on steem-engine sync flow.

Regarding dockerfile overhaul, do you think Dockerfile should run the sync process with a process manager? From my experience, I had seen a couple of unexpected stops in the docker process so I ended up using supervisord for the docker process. However, that would be perfect if it's supported in the docker container itself.


Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Thanks.

Yes, I think I'll end up using monit (inside docker) to manage the sync process at some point. I also want Docker to accept ENV parameters for which chain or chains to sync.

Thank you for your review, @emrebeyler! Keep up the good work!

Hi @inertia!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 6.605 which ranks you at #144 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 225 contributions, your post is ranked at #154.

Evaluation of your UA score:
  • You've built up a nice network.
  • The readers appreciate your great work!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server

Hi, @inertia!

You just got a 0.91% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

Hey, @inertia!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Congratulations @inertia! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 20000 as payout for your posts. Your next target is to reach a total payout of 30000

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

The Steem blockchain survived its first virus plague!
Vote for @Steemitboard as a witness to get one more award and increased upvotes!