forked from phoenix/litellm-mirror
Merge pull request #1311 from Manouchehri/patch-5
(caching) improve s3 backend
This commit is contained in:
commit
5cfcd42763
1 changed files with 13 additions and 1 deletions
|
@ -156,6 +156,7 @@ class S3Cache(BaseCache):
|
|||
# Convert value to JSON before storing in S3
|
||||
serialized_value = str(value)
|
||||
if ttl is not None:
|
||||
cache_control = f"immutable, max-age={ttl}, s-maxage={ttl}"
|
||||
import datetime
|
||||
|
||||
# Calculate expiration time
|
||||
|
@ -167,11 +168,22 @@ class S3Cache(BaseCache):
|
|||
Key=key,
|
||||
Body=serialized_value,
|
||||
Expires=expiration_time,
|
||||
CacheControl=cache_control,
|
||||
ContentType="application/json",
|
||||
ContentLanguage="en",
|
||||
ContentDisposition=f"inline; filename=\"{key}.json\""
|
||||
)
|
||||
else:
|
||||
cache_control = "immutable, max-age=31536000, s-maxage=31536000"
|
||||
# Upload the data to S3 without specifying Expires
|
||||
self.s3_client.put_object(
|
||||
Bucket=self.bucket_name, Key=key, Body=serialized_value
|
||||
Bucket=self.bucket_name,
|
||||
Key=key,
|
||||
Body=serialized_value,
|
||||
CacheControl=cache_control,
|
||||
ContentType="application/json",
|
||||
ContentLanguage="en",
|
||||
ContentDisposition=f"inline; filename=\"{key}.json\""
|
||||
)
|
||||
except Exception as e:
|
||||
# NON blocking - notify users S3 is throwing an exception
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue