-
Notifications
You must be signed in to change notification settings - Fork 805
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
[Executor] Support node_concurrency when running an async flow #1698
Conversation
SDK CLI Global Config Test Result shimin/add_node_concurrency2 tests 2 ✅ 47s ⏱️ Results for commit e95d6f9. ♻️ This comment has been updated with latest results. |
promptflow SDK CLI Azure E2E Test Result shimin/add_node_concurrency 4 files 4 suites 2m 47s ⏱️ Results for commit e95d6f9. ♻️ This comment has been updated with latest results. |
Executor Unit Test Result shimin/add_node_concurrency695 tests 692 ✅ 36s ⏱️ Results for commit e95d6f9. ♻️ This comment has been updated with latest results. |
Executor E2E Test Result shimin/add_node_concurrency171 tests 168 ✅ 4m 48s ⏱️ Results for commit e95d6f9. ♻️ This comment has been updated with latest results. |
SDK CLI Test Result shimin/add_node_concurrency 12 files 12 suites 34m 50s ⏱️ Results for commit e95d6f9. ♻️ This comment has been updated with latest results. |
ac42006
to
93c21c2
Compare
93c21c2
to
a2346ea
Compare
2a60010
to
4508e13
Compare
f2794d4
to
01d871f
Compare
01d871f
to
b6264d7
Compare
b6264d7
to
e95d6f9
Compare
Description
Use asyncio.semaphore to support concurrency control.
When node_concurrency is set to 2:
![1705287434459](https://private-user-images.githubusercontent.com/39176492/296642404-487f1d03-34fa-4016-bf01-ff31d64d2c3f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI5MTg5MTYsIm5iZiI6MTcyMjkxODYxNiwicGF0aCI6Ii8zOTE3NjQ5Mi8yOTY2NDI0MDQtNDg3ZjFkMDMtMzRmYS00MDE2LWJmMDEtZmYzMWQ2NGQyYzNmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA2VDA0MzAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM1OWUwNDQzNTNhZThlMjJhNjBiZmNlMDE2YzhjZTBmYWY5NDY5YzM1NDRkN2Q4N2E3ZTc1NDE4MDE3MDg5NjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.tSif1hhKIIv51qPqZ7Uy2EWtpi7pCSi9coO6VwZAxHw)
sync_passthrough1 and async_passthrough1 can run concurrently:
When node_concurrency is set to 1:
![1705288060087](https://private-user-images.githubusercontent.com/39176492/296643651-9ce31cd9-4af4-4451-a898-06cccf5c2321.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI5MTg5MTYsIm5iZiI6MTcyMjkxODYxNiwicGF0aCI6Ii8zOTE3NjQ5Mi8yOTY2NDM2NTEtOWNlMzFjZDktNGFmNC00NDUxLWE4OTgtMDZjY2NmNWMyMzIxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA2VDA0MzAxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg1OWYzYmMxNGJmNGJjMGM3NTA0YjM3NjgzMDdhMGYwMzczMTkzY2VhMGYxN2RmMTlmN2YyNDhjNDlkNDdiMDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.9qEQO2X4dqzKRuWD7QWlqxkQIv7zx68wK0My6_ouVqI)
Only one of sync_passthrough1 and async_passthrough1 can at the same time: