From b95a818e305d5499e89ecd63f93b6a9b54eb1e27 Mon Sep 17 00:00:00 2001 From: Jet Li Date: Sun, 20 Apr 2025 00:05:00 -0700 Subject: [PATCH] Update payment redirect and scheduler job for deleting document id --- .../backend/document/document_manager.py | 6 +++++- apps/content/scheduler/scheduler_manager.py | 21 ++++++++----------- .../backend/business/stripe_manager.py | 4 ++-- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/apps/content/backend/document/document_manager.py b/apps/content/backend/document/document_manager.py index 1d62ebc..8db5f40 100644 --- a/apps/content/backend/document/document_manager.py +++ b/apps/content/backend/document/document_manager.py @@ -1,6 +1,7 @@ from common.config.app_settings import app_settings from backend.content.models import DocumentDoc from backend.document.models import BasicProfileDoc +from datetime import datetime, timezone import httpx import base64 @@ -53,9 +54,12 @@ class DocumentManager: print(f"Failed to queue deletion: {response.text}") async def cleanup_document(self): + # Get today's date at midnight (UTC) + today_start = datetime.now(timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0) # Corrected query with regex documents = await DocumentDoc.find( - {"created_by": {"$regex": "^content-service-"}} + {"created_by": {"$regex": "^content-service-"}, + "create_time": {"$lt": today_start}} ).to_list() if documents: diff --git a/apps/content/scheduler/scheduler_manager.py b/apps/content/scheduler/scheduler_manager.py index d35fe86..fe1bb79 100755 --- a/apps/content/scheduler/scheduler_manager.py +++ b/apps/content/scheduler/scheduler_manager.py @@ -1,5 +1,6 @@ from apscheduler.schedulers.asyncio import AsyncIOScheduler from apscheduler.triggers.date import DateTrigger +from apscheduler.triggers.cron import CronTrigger from datetime import datetime, timedelta from scheduler.refresh_sharepoint_content_job import ( refresh_sharepoint_content_job, @@ -28,15 +29,11 @@ async def register_job(scheduler: AsyncIOScheduler): "date", run_date=datetime(2025, 2, 7, 20, 0, 0), ) - # Register cleanup_document_job as a one-time job - # This job is just one-time job for removing many unused documents - # Run already, now comment it out - # await init_lock(ScheduleJobLocker.CLEANUP_DOCUMENT_JOB_LOCKER) - # execution_time = datetime.now() + timedelta( - # seconds=60 - # ) # Schedule to run 60 seconds from now - # scheduler.add_job( - # cleanup_document_job, # Job function - # trigger=DateTrigger(run_date=execution_time), # One-time trigger - # id="cleanup_document_one_time", # Optional: Give the job an ID - # ) + + await init_lock(ScheduleJobLocker.CLEANUP_DOCUMENT_JOB_LOCKER) + scheduler.add_job( + cleanup_document_job, + trigger=CronTrigger(hour=2, minute=0), # Runs every day at 2:00 AM + id="cleanup_document_daily", + ) + diff --git a/apps/payment/backend/business/stripe_manager.py b/apps/payment/backend/business/stripe_manager.py index 9b8b749..656f884 100644 --- a/apps/payment/backend/business/stripe_manager.py +++ b/apps/payment/backend/business/stripe_manager.py @@ -292,10 +292,10 @@ class StripeManager: }, }, mode="payment", - success_url="{}/work-space".format( + success_url="{}/projects".format( self.site_url_root ), # needs to be set, local: http://localhost/ - cancel_url="{}/work-space".format(self.site_url_root), + cancel_url="{}/projects".format(self.site_url_root), ) if session: