Scheduled Job für stündlichen Bestandsabgleich einrichten #21
Labels
No labels
API
Artikel
B2B
B2C
Bestandssync
Bestellungen
DACH
DocType
Dokumentation
Grundgerüst
Import
Kategorien
Kunden
Lager
Mapping
Mehrsprachigkeit
Performance
Preise
Push
Scheduler
Schweiz
Steuern
Storefront
Sync
Varianten
Verbindung
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Frappe-Projekte/ecommerce_integrations#21
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Frappe Scheduler Job einrichten der stündlich den Bestand synchronisiert:
hooks.pyunterscheduler_events → hourlyfrappe.log_error()ins Error Log geschriebenshopware6/sync/stock.pyUmgesetzt in einer neuen Datei
shopware6/sync/stock.py(wie im Issue-Text gefordert):sync_stock_hourly()— iteriert alle aktivenShopware Account-Dokumente, ruft für jeden #20spush_stock()auf. Läuft nichts, wenn kein aktiver Account existiert (if not accounts: return).ShopwareAuthErrorwird gefangen und perfrappe.log_error()geloggt — das ist die einzige Exception, diepush_stock()je an den Aufrufer durchlässt (jeder Item-Fehler wird bereits intern in #20 gefangen/gezählt), passend zum Verhalten aller fünf bestehenden Push-Wrapper inshopware_account.py.hooks.py: ein neuer Eintrag in der bestehendenscheduler_events["hourly"]-Liste, keine bestehenden Hooks verändert.Bewusst nicht aus Julians/Marcels fast identischem
shopware6/inventory.pyübernommen: deren einzelnes globalesSetting-Singleton (wir haben stattdessen mehrereShopware Account-Dokumente mit je eigenemis_active) und ihr pauschalesexcept Exceptionrund um den ganzen Sync-Aufruf.Live-Verifikation:
is_active=0gesetzt →sync_stock_hourly()bricht sofort ohne API-Call ab.is_active=1→ Lauf gegen die echte Shopware-Testinstanz erfolgreich (kein Fehler,push_stock()tatsächlich aufgerufen und authentifiziert).bench execute ecommerce_integrations.shopware6.sync.stock.sync_stock_hourly(exakter Pfad aushooks.py) lief sauber durch — bestätigt, dass der Scheduler-Eintrag beim nächsten echten stündlichen Tick greifen würde.Volle Begründung: docs/architecture.md#issue-21