Meeseeker Update - 0.0.3pre1

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
H2
H3
H4
Upload from PC
Video gallery
3 columns
2 columns
1 column
8 Comments