KatanaPIM

Versie v3.7.0
Platform Magento 2
Laatste wijziging 14 January 2026

KatanaPIM cron jobs voor Magento 2 synchronisatie

Technische documentatie voor de automatische synchronisatie cron jobs. Deze handleiding legt uit hoe de cron jobs samenwerken om je Magento catalogus synchroon te houden met KatanaPIM.

Overzicht

KatanaPIM Connect gebruikt twee cron jobs die samenwerken:

Cron Job Standaard Schema Doel
Full Update Elke 8 uur (:33) Alle data ophalen van KatanaPIM API
Incremental Update Elke 5 minuten Wachtende wijzigingen synchroniseren naar Magento

Deze twee-fase aanpak scheidt het ophalen van data van de Magento verwerking, wat efficiënte afhandeling van grote catalogi mogelijk maakt.

Hoe ze samenwerken

Fase 1: Full Update (data ophalen)

De Full Update cron haalt ALLE data op van de KatanaPIM API maar synchroniseert niet direct naar Magento.

Wat het doet:

  1. Haalt alle attributen, categorieën, producten en assets op van de KatanaPIM API
  2. Slaat de data op in tussentabellen (katanapim_product, katanapim_category, etc.)
  3. Berekent hashes om wijzigingen te detecteren
  4. Zet de needs_update flag op items waar PIM data verschilt van Magento
  5. Markeert items die niet meer in PIM staan als verwijderd

Wat het NIET doet:

  • Magento producten aanmaken of bijwerken
  • Magento categorieën aanmaken of bijwerken
  • Afbeeldingen importeren in Magento

Fase 2: Incremental Update (Magento sync)

De Incremental Update cron verwerkt items die gemarkeerd zijn voor update en synchroniseert ze naar Magento.

Wat het doet:

  1. Haalt recent gewijzigde items op van de KatanaPIM API (met timestamp filter)
  2. Verwerkt alle items met needs_update = 1
  3. Maakt of updatet Magento producten, categorieën en attributen
  4. Importeert afbeeldingen en video's in Magento
  5. Wist de needs_update flag na succesvolle sync

De needs_update flag

Deze flag is het centrale mechanisme dat bepaalt wat er naar Magento wordt gesynchroniseerd. Begrijpen hoe het werkt is essentieel voor het oplossen van sync problemen.

Twee hash vergelijkingen

De module gebruikt twee aparte hash vergelijkingen:

1. Tijdens API fetch (Full Sync):

Vergelijking Actie
Nieuwe Katana hash = Opgeslagen Katana hash Item overslaan, geen wijzigingen in KatanaPIM
Nieuwe Katana hash ≠ Opgeslagen Katana hash Opgeslagen data bijwerken, ga naar stap 2

2. Bij opslaan in tussentabel:

Vergelijking Resultaat
Opgeslagen Katana hash = Opgeslagen Magento hash needs_update = 0
Opgeslagen Katana hash ≠ Opgeslagen Magento hash needs_update = 1

Dit betekent: als data niet is gewijzigd in KatanaPIM sinds de laatste Full Sync, wordt het item volledig overgeslagen en wordt needs_update niet aangepast.

Hoe needs_update wordt gewist

Na een succesvolle Magento sync:

  1. Het item wordt aangemaakt of bijgewerkt in Magento
  2. mapped_magento_hash wordt gelijkgesteld aan mapped_katana_hash
  3. needs_update wordt 0

Filter logica

Items worden alleen naar Magento gesynchroniseerd wanneer ALLE voorwaarden zijn voldaan:

  • needs_update = 1
  • skipped = 0
  • is_deleted = 0
  • has_error = 0

Waarom needs_update op 1 blijft staan

Als producten steeds opnieuw synchroniseren, betekent dit dat de hashes niet overeenkomen na sync. Je kunt de hash waarden inspecteren in het Katana PIM → Products grid en product detail scherm.

Veelvoorkomende oorzaken:

Oorzaak Oplossing
Attribuut mapping mismatch Controleer of alle attributen zijn gemapped in Katana PIM → Attributes
Select optie mismatch Zorg dat optie labels exact overeenkomen (hoofdlettergevoelig)
Ontbrekende store taal mapping Map alle talen in Stores → Configuration → Katana PIM → General → Store Languages
Categorie niet gesynchroniseerd Synchroniseer eerst categorieën voor producten
Gerelateerde producten ontbreken Zorg dat alle gerelateerde producten bestaan in Magento

Uitgesloten van hash vergelijking: url_key, product_stock, product_price, video, website_prices

Cron limieten

Om timeouts en geheugenproblemen te voorkomen, verwerkt elke cron run een beperkt aantal items.

Waar limieten gelden

Sync Type API Fetch Magento Sync
Full Sync (Cron) Geen limiet Overgeslagen (only_api: true)
Incremental Sync (Cron) Gebruikt timestamp filter Gelimiteerd per entity type
Full Sync (CLI) Geen limiet Geen limiet

De cron limieten gelden voornamelijk voor de Incremental Sync, die items verwerkt van de tussentabellen naar Magento.

Standaard limieten (Incremental Sync)

Entity Standaard Limiet Config Path
Products 100 katanapim_automation/cron/max_products_per_cron
Categories 100 katanapim_automation/cron/max_categories_per_cron
Attributes 100 katanapim_automation/cron/max_attributes_per_cron
Assets 100 katanapim_automation/cron/max_assets_per_cron

Wat dit betekent

Als 500 producten needs_update = 1 hebben, maar de limiet is 100:

  • Eerste cron run: verwerkt producten 1-100
  • Tweede cron run: verwerkt producten 101-200
  • Enzovoort...

Met een 5-minuten incremental schema zouden alle 500 producten binnen ~25 minuten gesynchroniseerd zijn.

Cron schema's

Standaard schema's

Cron Job Cron Expressie Betekenis
Full Update 33 */8 * * * Op minuut 33, elke 8 uur
Incremental Update */5 * * * * Elke 5 minuten

Schema's kunnen worden geconfigureerd in Stores → Configuration → Katana PIM → Automation.

Sync volgorde

Entities worden verwerkt in een specifieke volgorde om data-integriteit te behouden:

  1. Attributes — Moeten bestaan voordat producten ze kunnen gebruiken
  2. Categories — Moeten bestaan voordat producten kunnen worden toegewezen
  3. Products — Hoofd productdata
  4. Assets — Afbeeldingen en video's (vereist dat producten bestaan)

Cron vs CLI

Aspect Cron CLI
Full sync gedrag Alleen API fetch API fetch + Magento sync
Output Gelogd naar bestanden Console output
Limieten Respecteert max per cron Geen limieten
Use case Automatische achtergrond sync Handmatige imports, initiële setup

Belangrijk: Het CLI commando bin/magento katana:import:full voert beide fases (fetch + sync) uit in één run, terwijl de cron full update alleen data ophaalt.

Probleemoplossing

Items synchroniseren niet

Controleer de flags:

SELECT sku, needs_update, skipped, is_deleted, has_error
FROM katanapim_product
WHERE needs_update = 1
LIMIT 10;

Items hebben needs_update = 1 EN skipped = 0 EN is_deleted = 0 EN has_error = 0 nodig om verwerkt te worden.

Cron draait niet

Verifieer dat cron actief is:

bin/magento cron:run --group=katanapim

Controleer cron schema:

SELECT * FROM cron_schedule
WHERE job_code LIKE 'katanapim%'
ORDER BY scheduled_at DESC
LIMIT 20;

Sync duurt te lang

Opties:

  1. Verhoog cron limieten in de configuratie
  2. Verlaag incremental schema frequentie
  3. Draai full sync via CLI tijdens daluren in plaats van cron

Items gemarkeerd als verwijderd

Als items onterecht als verwijderd zijn gemarkeerd, betekent dit meestal:

  • Het item is verwijderd uit KatanaPIM
  • API verbinding faalde tijdens full sync (gedeeltelijke fetch)

Oplossing: Draai een handmatige full sync via CLI om alle data opnieuw op te halen:

bin/magento katana:import:full --products

Sync log

Alle cron runs worden gelogd in Katana PIM → Sync Log.

Elke entry toont:

  • Sync type (Full/Incremental)
  • Items aangemaakt, bijgewerkt, verwijderd
  • Gevonden fouten
  • Uitvoeringstijd

Log opschoning: Oude sync logs worden automatisch verwijderd na 30 dagen (configureerbaar).

Meer hulp nodig?

Documentatie:

Support:

Artikel bijgewerkt:
star star star star star
star star star star star
Alexandru-Manuel Carabus
Magmodules sets the bar for Magento module quality and support—we check their catalog first for client feature requests, and they’re our first choice for licenses.
Google 11 Nov 2025
star star star star star
star star star star star
Matt Austin
Possibly the fastest support response times of any Magento Extension vendor. Great extensions too!
Google 09 Sep 2025
star star star star star
star star star star star
Jan Privé
Dankzij de heldere uitleg en snelle reactie van Magmodules kon mijn vraag, en dus mijn Magento-probleem, binnen enkele uren worden beantwoord. Doeltreffend, zonder moeilijke termen, gewoon zo als het zou moeten zijn.... Bedankt!
Google 05 Sep 2025
star star star star star
star star star star star
Denis Metzler
To evaluate a provider, it is not enough to consider only the product offered, but also its after-sales service, such as support and troubleshooting. Magmodules has been extremely satisfactory at all levels on multiple occasions and sets the bar at the top when comparing the competition.
Google 02 Sep 2025
star star star star star
star star star star star
Bleijenberg winkelinrichting en materialen
Goed bereikbaar, reageren snel en denken oplossingsgericht. Een aanrader.
Google 30 Jul 2025
star star star star star
star star star star star
Patrick Verduijn
Magmodules biedt plugins aan die van hoge kwaliteit zijn tegen een goede prijs, waar dit bedrijf in uitblinkt is de bereidheid om de zeldzame feedback & problemen met de plugins te willen onderzoeken, mee te willen denken in het debuggen van problemen en goede oplossingen toe te passen. In mijn decennium ervaring met Magento & 3th parties is Magmodules absoluut een uniqum binnen de markt.
Google 25 Jul 2025
star star star star star
star star star star star
Erik de Groot
Magemodules heeft hele sterke Magento extensies en een proactieve support. Al jaren heel erg tevreden over jullie service en producten!
Google 18 Jul 2025
star star star star star
star star star star star
René Zeuner
We are using the Mollie Magento extension from Magmodules. It works excellently without flaws. Very fast, competent and friendly support. Thanks!
Google 30 Jun 2025
star star star star star
star star star star star
R. U.
Erg goed team, reageren snel en duidelijk en hebben met toegang tot onze database erg goed geholpen (eigenlijk een gratis customization).
Google 18 Jun 2025
star star star star star
star star star star star
Hugo de Groot
Uitstekende support! Wij gebruiken o.a. de Rich Snippets Suite extensie voor onze Magento 2 webshop (Hyvä) en hadden een specifieke vraag over structured data op PLP-pagina’s. Binnen no-time kregen we een inhoudelijk en duidelijk antwoord. Zeer prettig contact en goed onderbouwde uitleg. Absoluut een betrouwbare partner voor Magento-extensies!
Google 13 Jun 2025