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

Combine results from async methods and return synchronously for Aggregator features #127

Open
hamed-shirbandi opened this issue Dec 23, 2022 · 10 comments
Assignees
Labels
microservices Issues related to microservices migration refactor improvements to the code

Comments

@hamed-shirbandi
Copy link
Owner

No description provided.

@hamed-shirbandi hamed-shirbandi added refactor improvements to the code microservices Issues related to microservices migration labels Dec 23, 2022
@hamed-shirbandi hamed-shirbandi self-assigned this Dec 23, 2022
@hamed-shirbandi hamed-shirbandi moved this to 🆕 Backlog in TaskoMask Dec 23, 2022
@jaygastby1991
Copy link

Hi, I am a newbie and I would like to work on this task. I am learning clean architecture so I would like to compliment my knowledge with this task. Please advise me if this is the right choice given my expertise.

@hamed-shirbandi
Copy link
Owner Author

Hi @jaygastby1991,
It would be great to have you as a contributor.
If you have any question about clean architecture, I'm happy to answer, but there is no specific task related to clean architecture. I think reading the documentation and looking at microservices architecture is a good way to know more about it.
If you still want to contribute, then this issue is a good choice. Just let me know so I can explain it more

@jaygastby1991
Copy link

Hi again @hamed-shirbandi , I really want to contribute to the project. I would appreciate if I can have more info about the task.

@hamed-shirbandi
Copy link
Owner Author

Hi @jaygastby1991, sorry to respond late. I am planing to start developing this repository again, then you always can find me online :)
This task refers to ApiGatewaysAggregatorFeatures. There you can find some features that they are aggregating some data from different microservices (like this one)
The problem is, aggregator is not able to get the data from microservices asynchronously, so the response will be slow and can be a single point of failure. Take a look here, TaskDetailsViewModel needs data from 3 different APIs (card, comment, activity) but as you see, for each API call I used await keyword which means the rest will be waiting.
The solution is to call all the APIs but don't wait for their response, so you can call all the APIs at the same time and combine their results when all the requests are responded.
If you need more information, just let me know.

@jaygastby1991
Copy link

Hi @hamed-shirbandi, also sorry for my late reply. I am working on the task assigned. I am tackling it with the WhenAll within the Task class. Am I going in the right direction?

@hamed-shirbandi
Copy link
Owner Author

Hey @jaygastby1991
Yes, you are doing right, but it is better to open a pull request and push your changes in short commits then I can review your codes and help you better doing it.

@jaygastby1991
Copy link

jaygastby1991 commented Dec 14, 2023

Hey again. I am having issues running the application. I followed the instructions to start all the infrastructure projects using docker compose, then I tried to start the project using the self-host option. However only the Website (localhost:5009) starts, I can not log in nor see anything else. Kindly ask which projects are essential to start together in order to make TaskoMask work.

@hamed-shirbandi
Copy link
Owner Author

Hey Jorge, sorry for the late response. I couldn't work a while.
It seems we have a lot of issues with running the app!
I will let you know when all issues are resolved.
Thanks for bringing this to my attention.

@jaygastby1991
Copy link

Thanks a lot, please, kindly keep me updated so I can start contributing!

@hamed-shirbandi
Copy link
Owner Author

Hey Jorge, now you can run TaskoMask on your machine.
First, run the following command, then run all services through Visual Studio and they will work.

...\src\7-Docker> docker-compose -f Infrastructure.yml up -d

Also, if you like to contribute, you can check new issues that I have added recently, some of them are easier for you to start with.

I recommend #173. If you needed more info, just add a comment to that issue. Also, I can give you an example if you want.

Good luck!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
microservices Issues related to microservices migration refactor improvements to the code
Projects
Status: 🆕 Backlog
Development

No branches or pull requests

2 participants