Files
upstream-frappe-crm/crm/lead_syncing/background_sync.py
upstream-mirror db69de1c11
Some checks failed
Frontend / Unit Tests & Coverage (push) Has been skipped
Regenerate POT file (translatable strings) / Regenerate POT file (develop) (push) Failing after 1m13s
Regenerate POT file (translatable strings) / Regenerate POT file (main-hotfix) (push) Failing after 6s
Server / Tests (frappe ${{ matrix.frappe-branch }}) (push) Has been skipped
Server / Resolve frappe matrix (push) Failing after 1s
Frontend / Lint (push) Failing after 1s
Frontend / Production Build (push) Failing after 1s
Server / Coverage Wrap Up (push) Has been skipped
Frontend / Coverage Wrap Up (push) Has been skipped
snapshot of https://github.com/frappe/crm.git (develop, 2026-09-18; blobs > 131072B omitted)
2026-09-18 01:36:01 +05:00

38 lines
1.0 KiB
Python

import frappe
def sync_leads_from_all_enabled_sources(frequency: str | None = None) -> None:
enabled_sources = frappe.get_all(
"Lead Sync Source", filters={"enabled": 1, "background_sync_frequency": frequency}, pluck="name"
)
for source in enabled_sources:
lead_sync_source = frappe.get_cached_doc("Lead Sync Source", source)
try:
lead_sync_source._sync_leads()
except Exception as _:
frappe.log_error(f"Error syncing leads for source {source}")
def sync_leads_from_sources_5_minutes() -> None:
sync_leads_from_all_enabled_sources("Every 5 Minutes")
def sync_leads_from_sources_10_minutes() -> None:
sync_leads_from_all_enabled_sources("Every 10 Minutes")
def sync_leads_from_sources_15_minutes() -> None:
sync_leads_from_all_enabled_sources("Every 15 Minutes")
def sync_leads_from_sources_hourly() -> None:
sync_leads_from_all_enabled_sources("Hourly")
def sync_leads_from_sources_daily() -> None:
sync_leads_from_all_enabled_sources("Daily")
def sync_leads_from_sources_monthly() -> None:
sync_leads_from_all_enabled_sources("Monthly")