bugfixing and update cron pocketbase
This commit is contained in:
parent
4670f308dd
commit
6d25895c33
@ -13,6 +13,7 @@ import aiohttp
|
|||||||
import pytz
|
import pytz
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
from tqdm import tqdm
|
||||||
|
|
||||||
import smtplib
|
import smtplib
|
||||||
from email.mime.multipart import MIMEMultipart
|
from email.mime.multipart import MIMEMultipart
|
||||||
@ -37,7 +38,7 @@ pb = PocketBase('http://127.0.0.1:8090')
|
|||||||
admin_data = pb.collection('_superusers').auth_with_password(pb_admin_email, pb_password)
|
admin_data = pb.collection('_superusers').auth_with_password(pb_admin_email, pb_password)
|
||||||
|
|
||||||
|
|
||||||
now = datetime.now()
|
now = datetime.today().date()
|
||||||
#one_month_ago = now - timedelta(days=30)
|
#one_month_ago = now - timedelta(days=30)
|
||||||
time_threshold = now - timedelta(days=7)
|
time_threshold = now - timedelta(days=7)
|
||||||
|
|
||||||
@ -109,23 +110,49 @@ async def update_free_trial():
|
|||||||
print(e)
|
print(e)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async def downgrade_user():
|
async def downgrade_user():
|
||||||
|
|
||||||
user_data = pb.collection('users').get_full_list()
|
user_data = pb.collection('users').get_full_list()
|
||||||
for item in user_data:
|
for item in tqdm(user_data):
|
||||||
if item.tier != 'Pro':
|
if item.tier != 'Pro':
|
||||||
stock_screener_data = pb.collection("stockscreener").get_full_list(query_params = {"filter": f"user = '{item.id}'"})
|
stock_screener_data = pb.collection("stockscreener").get_full_list(query_params = {"filter": f"user = '{item.id}'"})
|
||||||
for screener in stock_screener_data:
|
for screener in stock_screener_data:
|
||||||
pb.collection('stockscreener').delete(screener.id);
|
pb.collection('stockscreener').delete(screener.id)
|
||||||
|
|
||||||
options_watchlist_data = pb.collection("optionsWatchlist").get_full_list(query_params = {"filter": f"user = '{item.id}'"})
|
options_watchlist_data = pb.collection("optionsWatchlist").get_full_list(query_params = {"filter": f"user = '{item.id}'"})
|
||||||
for watchlist in options_watchlist_data:
|
for watchlist in options_watchlist_data:
|
||||||
pb.collection('optionsWatchlist').delete(watchlist.id);
|
pb.collection('optionsWatchlist').delete(watchlist.id)
|
||||||
|
|
||||||
|
|
||||||
|
payment_data = pb.collection("payments").get_full_list(query_params = {"filter": f"user = '{item.id}'"})
|
||||||
|
for item in payment_data:
|
||||||
|
pb.collection('payments').delete(item.id)
|
||||||
|
|
||||||
|
|
||||||
|
async def delete_old_notifications():
|
||||||
|
# Get the current datetime
|
||||||
|
now = datetime.utcnow()
|
||||||
|
# Calculate the threshold datetime
|
||||||
|
time_threshold = now - timedelta(days=7)
|
||||||
|
|
||||||
|
# Fetch all notifications
|
||||||
|
data = pb.collection("notifications").get_full_list()
|
||||||
|
for item in data:
|
||||||
|
try:
|
||||||
|
# Ensure both are datetime objects before comparison
|
||||||
|
if item.created < time_threshold:
|
||||||
|
pb.collection('notifications').delete(item.id)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async def run():
|
async def run():
|
||||||
|
|
||||||
await update_free_trial()
|
await update_free_trial()
|
||||||
await downgrade_user()
|
await downgrade_user()
|
||||||
|
await delete_old_notifications()
|
||||||
|
|
||||||
asyncio.run(run())
|
asyncio.run(run())
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user