1
0
forked from erp-dev/erp

feat: added mdy_product_sync new task for merchant_id isolated

This commit is contained in:
2026-02-04 18:47:07 +08:00
parent 21f1d1ba27
commit 0e56412f5d
5 changed files with 322 additions and 8 deletions

View File

@@ -60,6 +60,7 @@ CSRF_TRUSTED_ORIGINS = env.list('CSRF_TRUSTED_ORIGINS', default=[
# 明道云同步配置
MDY_MERCHANT_ID = env.int('MDY_MERCHANT_ID', default=1)
MDY_PRODUCT_CATEGORY_ID = env.int('MDY_PRODUCT_CATEGORY_ID', default=1)
MDY_ISOLATED_MERCHANT_ID = env.int('MDY_ISOLATED_MERCHANT_ID', default=0)
MDY_SYNC_PAGE_SIZE = env.int('MDY_SYNC_PAGE_SIZE', default=100)
MDY_SYNC_MAX_PAGES = env.int('MDY_SYNC_MAX_PAGES', default=2)
MDY_SYNC_MAX_RECORDS = env.int('MDY_SYNC_MAX_RECORDS', default=200)
@@ -581,3 +582,42 @@ CELERY_BEAT_SCHEDULE = {
},
},
}
if MDY_ISOLATED_MERCHANT_ID and MDY_ISOLATED_MERCHANT_ID > 0:
CELERY_BEAT_SCHEDULE.update(
{
'mdy_product_sync_isolated': {
'task': 'api_v1.tasks.sync_mdy_products_for_merchant',
'schedule': crontab(minute='3,13,23,33,43,53'),
'kwargs': {
'merchant_id': MDY_ISOLATED_MERCHANT_ID,
'page_size': MDY_SYNC_PAGE_SIZE,
'max_pages': MDY_SYNC_MAX_PAGES,
'max_records': MDY_SYNC_MAX_RECORDS,
},
},
# 'mdy_customer_sync_isolated': {
# 'task': 'api_v1.tasks.sync_mdy_customers_for_merchant',
# 'schedule': crontab(minute='1,11,21,31,41,51'),
# 'kwargs': {
# 'merchant_id': MDY_ISOLATED_MERCHANT_ID,
# 'page_size': MDY_SYNC_PAGE_SIZE,
# 'max_pages': MDY_SYNC_MAX_PAGES,
# 'max_records': MDY_SYNC_MAX_RECORDS,
# },
# },
# 'mdy_plate_order_staging_sync_isolated': {
# 'task': 'api_v1.tasks.sync_mdy_plate_orders_for_merchant',
# 'schedule': crontab(minute='*/2', hour='8-11'),
# 'kwargs': {
# 'merchant_id': MDY_ISOLATED_MERCHANT_ID,
# 'page_size': max(1, int(MDY_SYNC_PAGE_SIZE)),
# 'max_pages': max(1, int(MDY_SYNC_MAX_PAGES)),
# 'max_records': max(1, int(MDY_SYNC_MAX_RECORDS)),
# 'with_related': True,
# 'max_related_per_type': 5,
# 'request_interval_seconds': float(MDY_PLATE_ORDER_SYNC_REQUEST_INTERVAL_SECONDS),
# },
# },
}
)