add sentiment tracker endpoint

This commit is contained in:
MuslemRahimi 2024-09-29 20:54:31 +02:00
parent 15fc3fa091
commit 14ad89640e
2 changed files with 33 additions and 2 deletions

View File

@ -3929,6 +3929,35 @@ async def get_fomc_impact(data: TickerData, api_key: str = Security(get_api_key)
headers={"Content-Encoding": "gzip"} headers={"Content-Encoding": "gzip"}
) )
@app.get("/sentiment-tracker")
async def get_fomc_impact(api_key: str = Security(get_api_key)):
cache_key = f"sentiment-tracker"
cached_result = redis_client.get(cache_key)
if cached_result:
return StreamingResponse(
io.BytesIO(cached_result),
media_type="application/json",
headers={"Content-Encoding": "gzip"}
)
try:
with open(f"json/sentiment-tracker/data.json", 'rb') as file:
res = orjson.loads(file.read())
except:
res = {}
data = orjson.dumps(res)
compressed_data = gzip.compress(data)
redis_client.set(cache_key, compressed_data)
redis_client.expire(cache_key,3600*3600)
return StreamingResponse(
io.BytesIO(compressed_data),
media_type="application/json",
headers={"Content-Encoding": "gzip"}
)
@app.get("/newsletter") @app.get("/newsletter")
async def get_newsletter(): async def get_newsletter():
try: try:

View File

@ -485,7 +485,8 @@ def run_tracker():
"cron_reddit_tracker.py", "cron_reddit_tracker.py",
"cron_reddit_statistics.py", "cron_reddit_statistics.py",
"cron_cramer_tracker.py", "cron_cramer_tracker.py",
"cron_lobbying_tracker.py" "cron_lobbying_tracker.py",
"cron_sentiment_tracker.py"
] ]
for script in scripts: for script in scripts:
run_command(["python3", script]) run_command(["python3", script])
@ -494,7 +495,8 @@ def run_tracker():
rsync_commands = [ rsync_commands = [
("/root/backend/app/json/reddit-tracker", "/root/backend/app/json"), ("/root/backend/app/json/reddit-tracker", "/root/backend/app/json"),
("/root/backend/app/json/cramer-tracker", "/root/backend/app/json"), ("/root/backend/app/json/cramer-tracker", "/root/backend/app/json"),
("/root/backend/app/json/corporate-lobbying/tracker", "/root/backend/app/json/corporate-lobbying") ("/root/backend/app/json/corporate-lobbying/tracker", "/root/backend/app/json/corporate-lobbying"),
("/root/backend/app/json/sentiment-tracker", "/root/backend/app/json")
] ]
base_command = ["sudo", "rsync", "-avz", "-e", "ssh"] base_command = ["sudo", "rsync", "-avz", "-e", "ssh"]