script to run every 15 minutes

This commit is contained in:
Jun-te Kim 2026-02-20 11:54:11 +00:00
parent b072504c48
commit c32087e814
6 changed files with 32 additions and 18 deletions

View file

@ -2,7 +2,14 @@ name: Hubspot Sync
on:
schedule:
- cron: '0 2 * * *' # Every day at 06:00 UTC
# Every 15 minutes, 07:0018:59, MondayFriday (UTC)
- cron: '*/15 7-18 * * 1-5'
# Once on Saturday at 09:00 UTC
- cron: '0 9 * * 6'
# Once on Sunday at 09:00 UTC
- cron: '0 9 * * 0'
workflow_dispatch:
jobs:
@ -21,16 +28,6 @@ jobs:
pip install poetry
poetry install --no-root
- name: Run scripts
env:
PYTHONPATH: ${{ github.workspace }}
DATABASE_URL: ${{ secrets.PROD_DATABASE_URL }}
run: |
pwd
ls -la
poetry run python etl/hubSpotClient/scripts/hubspot_gather_all_deals.py
# - name: Run scripts
# env:
# PYTHONPATH: ${{ github.workspace }}
@ -38,7 +35,17 @@ jobs:
# run: |
# pwd
# ls -la
# poetry run python etl/hubSpotClient/scripts/hubspot_update_script.py
# poetry run python etl/hubSpotClient/scripts/hubspot_gather_all_deals.py
- name: Run scripts
env:
PYTHONPATH: ${{ github.workspace }}
DATABASE_URL: ${{ secrets.PROD_DATABASE_URL }}
run: |
pwd
ls -la
poetry run python etl/hubSpotClient/scripts/hubspot_update_script.py

View file

@ -138,6 +138,10 @@ class HubspotTodb:
"company_id": company,
"major_condition_issue_description": deal_data.get("major_condition_issue_description"),
"major_condition_issue_photos": deal_data.get("major_condition_issue_photos"),
"major_condition_issue_description": deal_data.get("major_condition_issue_description"),
"major_condition_issue_photos": deal_data.get("major_condition_issue_photos"),
"coordination_status": deal_data.get("coordination_status__stage_1_"),
"design_status": deal_data.get("retrofit_design_status"),
}.items():
setattr(existing, attr, value or getattr(existing, attr))
@ -166,6 +170,8 @@ class HubspotTodb:
company_id=company,
major_condition_issue_description=deal_data.get("major_condition_issue_description"),
major_condition_issue_photos=deal_data.get("major_condition_issue_photos"),
coordination_status=deal_data.get("coordination_status__stage_1_"),
design_status=deal_data.get("retrofit_design_status"),
)
# Handle upload at insert time

View file

@ -161,6 +161,8 @@ class HubSpotClient():
'project_code',
'major_condition_issue_description',
'major_condition_issue_photos',
'coordination_status__stage_1_', # Coordiantion Status (Stage 1),
'retrofit_design_status', # Retrofit Design Status
]
)

View file

@ -7,10 +7,7 @@ hubspot.get_deal_stages()
db = HubspotTodb()
companies = [
Companies.ABRI,
Companies.LIVEWEST,
Companies.SOUTHERN_HOUSING_GROUP,
Companies.SURESERVE,
Companies.THE_GUINESS_PARTNERSHIP,
]
# Global trackers

View file

@ -85,6 +85,9 @@ class HubspotDealData(SQLModel, table=True):
major_condition_issue_photos: Optional[str] = Field(default=None)
major_condition_issue_evidence_s3_url: Optional[str] = Field(default=None)
coordination_status: Optional[str] = Field(default=None)
design_status: Optional[str] = Field(default=None)
created_at: datetime = Field(
sa_column=Column(
DateTime(timezone=True),

View file

@ -1,5 +1,4 @@
#poetry run alembic revision --autogenerate -m "s3 add "
#poetry run alembic revision --autogenerate -m "add coorodiantion and design status"
poetry run alembic upgrade head
# See which hash I'm at