Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the bot more effecient #2

Open
dadepo opened this issue Apr 22, 2018 · 0 comments
Open

Make the bot more effecient #2

dadepo opened this issue Apr 22, 2018 · 0 comments

Comments

@dadepo
Copy link
Member

dadepo commented Apr 22, 2018

The current implementation for picking a name from the YorubaName dictionary and tweeting it is not efficient.

Right now, the bot follows the following steps to tweet:

  1. Queries the YorubaName end point for 5000 names
  2. Randomly picks a name from the returned 5000 names
    • (by shuffling the returned array and picking the first element)
  3. Tweeting the picked name

Having to query the API for 5000 names, only to pick one to tweet is very inefficient.

Another thing being omitted is the status of the name to be tweeted. Currently, there is no check in place to ensure that the randomly selected name is actually in a PUBLISHED state. Only names in PUBLISHED state should be tweeted as those are the ones publicly available in the dictionary.

This GitHub issue is to note this short-comings and to provide a fix by implementing a more efficient way to retrieve name to be tweeted while taking into consideration the published state.

The current API of YorubaName does not make it straightforward to randomly pick a name, but a suggestion that would be more efficient than the current implementation would be to:

  1. Instead of using only the count query parameter on the /v1/names endpoint, use a combination of the following supported query parameters: page, count and state to build a more efficient query, eg:

v1/names?count=[random count with a reasonable upper limit]&page=[random selected page number]&state=PUBLISHED

Check the YorubaName Swagger API page to explore the available endpoints.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant