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

Enhancement: Scaling with Celery #15

Open
cartfisk opened this issue Jun 2, 2020 · 2 comments
Open

Enhancement: Scaling with Celery #15

cartfisk opened this issue Jun 2, 2020 · 2 comments

Comments

@cartfisk
Copy link

cartfisk commented Jun 2, 2020

I saw that you mentioned looking for assistance with scaling. Using a distributed computing library to assign work to a group of "worker" nodes would be a nice way to implement this. I'm familiar with a Python library called Celery that does just that. The main question is how to set up a release distribution that enables individuals to spin up their own workers easily on whatever computing resources they have available.

Additionally, I imagine querying for and detecting image matches is the most computationally expensive task in this project. With this in mind, a distributed system will require a way to designate "chunks of work" to individual instances/nodes so that repeat queries are avoided where possible.

I'll look deeper into the code to see if this can be easily accomplished with the current setup.

@syntax
Copy link

syntax commented Jun 2, 2020

I think ultimately the thing that prevents this from scaling well is instagrams rate limit, which puts comment placing cool-downs on accounts for a semi-considerable time, and there isn't really any ideal get arounds to this apart from having many instagram accounts.

@cartfisk cartfisk changed the title Enhancement: Scaling with Docker Enhancement: Scaling with Celery Jun 2, 2020
@cartfisk
Copy link
Author

cartfisk commented Jun 2, 2020

Maybe the set up process for a distributed instance could configure the bot to post with the host’s own account or a throwaway?

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

2 participants