Comments (2)
Not really sure where you need async operations, but if it helps I worked a little with the new NHL API and used concurrency feature of python to get all landing data for batch games.
import concurrent.futures
def processGameLanding(game):
game_id = game['id']
try:
getNHLGameLanding(game_id)
except Exception as landing_error:
print(f"Error retrieving Game Landing for game {game_id}: {landing_error}")
print(f'Completed game: {game_id}')
def getAllLanding():
num_threads = 100
schedule_file_names = get_file_names('../data/nhl-v2/schedule')
for schedule_file_name in schedule_file_names:
print(f'Schedule File: {schedule_file_name}')
games = readJSON(f'../data/nhl-v2/schedule/{schedule_file_name}')['games']
# Create a ThreadPoolExecutor <---- This Part!
with concurrent.futures.ThreadPoolExecutor(max_workers=num_threads) as executor:
# Submit tasks to the executor and get a list of futures
futures = [executor.submit(processGameLanding, game) for game in games]
# Use as_completed to iterate over completed futures
for future in concurrent.futures.as_completed(futures):
try:
future.result() # Retrieve the result or raise an exception if an error occurred
except Exception as e:
print(f"An error occurred: {e}")
from nhl-api-py.
It was more out of a curiosity stand point on my end, but this is interesting. Thanks!
from nhl-api-py.
Related Issues (20)
- Helper integrations
- readme update
- Typing Hints Wrong in Teams
- Update API URLS, that apparently stopped working
- Add verbose flag to init for informative logging output
- Update developer README steps.
- Lower Python version requirement HOT 2
- New Endpoint - Clean Stats Season
- Bring README up to 2.2.2
- Update standings.get_schedule to take teamId param.
- Passing optional date to schedule calls HOT 6
- GH Actions Node Upgrade
- Updating score_now() to take an Optional date HOT 6
- Player Game Log Endpoint
- Stats Query Builder
- Reduce payloads down to necessary info
- Increase timeout and allow for no SSL verification HOT 5
- Shift Charts
- Allow get_schedule to be called without season param. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nhl-api-py.