Meeseeker Update - 0.0.3pre1

in utopian-io •  6 years ago 

After the initial release of meeseeker, I came up with a few more improvements. At first, these changes were pretty small and only warranted small updates and, as such, I felt like all I had to do was update the original post. But now, there's a bit more to go over. I'll just enumerate all of the changes since the first announcement ...


At the initial release, SUBSCRIBE wasn't available, so once I added it, I edited the original post. In a nut-shell, you can subscribe to channels so your app is notified when any of these are added: block/transaction/op.

Full description: https://github.com/inertia186/meeseeker#using-subscribe

For this release, I added a bit more detail:

Normally, block headers are added to the steem:block channel. This requires one additional API call for each block. If you don't need block headers, you can configure the steem:block channel to only publish with the block_num:

MEESEEKER_INCLUDE_BLOCK_HEADER=false meeseeker sync

This means that when a the steem:block channel executes the message callback, instead of just this:

{"block_num":29861068}

... you get all this:

{
   "block_num":29861068,
   "previous":"01c7a4cb4424b4dc0cb0cc72fd36b1644f8aeba5",
   "timestamp":"2019-01-28T20:55:03",
   "witness":"ausbitbank",
   "transaction_merkle_root":"a318bb82625bd78af8d8b506ccd4f53116372c8e",
   "extensions":[]
}

As I said, the reason this is optional is because it represents one extra API call per block.

I also added a way to subscribe to custom_json.id as channels.

In addition to general op channels, there's an additional channel for custom_json.id. This option must be enabled:

MEESEEKER_PUBLISH_OP_CUSTOM_ID=true meeseeker sync

So this is cool becuse if you're interested in streaming just a particular sub-set of custom_json, this will notify you when a particular id shows up.

For example, subscribe steem:op:custom_json:sm_team_reveal will only trigger on that particular Steem Monster op.


I also added an option to allow for non-expiring keys:

If you never want the keys to expire (not recommended), set
MEESEEKER_EXPIRE_KEYS to -1:

MEESEEKER_EXPIRE_KEYS=-1 meeseeker sync

It might be useful if you don't care how big your redis storage is. Not sure how useful this might be. Would require benchmarks.


I also did a bit of a refactor on the Meeseeker::BlockFollowerJob#perform method to break it up a bit. This shouldn't affect performance. It's just for clarity.


Anyhow, I made this a pre-release (0.0.3pre1). If you want to try it out, just update your gem with:

gem update meeseeker --pre
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:  
  • Looks great for a blog post, you may want to include code samples and explanations of coding choices if you want to make a development post.
  • Please include a links to the pull requests or list of commits with your article next time. I used this commit to evaluate this article: https://github.com/inertia186/meeseeker/commit/f2edc10aa5e432293c8b8e11e9326358e7866594
  • The Rakefile got some comments, but lock_follower_job.rb or meeseeker_test.rb got none, try commenting more.

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. Wow, there’s a lot of “cognitive load” involved in utopian tagging. On the other hand, I can’t imaging what the mods have to go through.

You guys are amazing.

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

ǝɹǝɥ sɐʍ ɹoʇɐɹnƆ pɐW ǝɥ┴

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.579 which ranks you at #146 across all Steem accounts.
Your rank has not changed in the last three days.

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

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 1.42% 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.

This post has been included in the latest edition of SoS Daily News - a digest of all you need to know about the State of Steem.



Congratulations @inertia! You've received the first place upvote this week :)

Thanks for participating in the Seeking Open-Source Projects contest! If you haven't already. Swing by our Discord and say hello https://discord.gg/MacHHF9