The initial synchronization after the plugin has been installed and configured for the first time usually takes longer. This depends on the number of products to be synchronized. When the cron job is executed, Shopware sets it to “inactive.” After execution, the status is automatically set back to “active.” This can be confusing if the cron job is set to inactive but should actually be running. In this case, it is helpful to check when the cron job was last run. If this was recently, wait to see if the status resets to “active.”
If there is no change after 30-60 minutes and the cron job is still set to inactive, it is worth troubleshooting. The following steps are recommended:
4a. The most common reason is that the cron job is stopped by the server's maximum script execution time. In this case, we recommend resetting the synchronization at the Shopware level (tab “Advanced”) and at the Mailchimp level and restarting it. When restarting, make sure that the sync limit is reduced, e.g. from 500 to 100 records.
4b. If this does not help either, the “max execution time” can be increased in the PHP settings of the server. The Shopware logic works in such a way that all cron jobs that are to be executed at a certain time are processed one after the other in the same call. As a result, the script execution time may be exceeded quickly and the server may abort the script.
4c. Alternatively, the plugin can also be configured without Shopware cron jobs. To do this, leave the cron jobs inactive in the Shopware settings and call these two commands directly in the cron job configuration (on the server in crontab) so that synchronization is executed independently of the Shopware logic:
This command executes the sync every 15 minutes:
*/15 * * * * php bin/console jett:mc:sync
This command executes the queue every 5 minutes.
*/5 * * * * php bin/console jett:mc:queue