Understanding the timeout.
On the server, in addition to your site, there are other sites. Server resources must be fairly distributed among all sites, so the time of continuous PHP operation program is limited.
Usually, it is 30 - 60 seconds. This means that after 60 seconds the plugin work will be forcibly terminated, and you will receive a message on the browser screen: "maximum execution time of 30 seconds exceeded" or "Internal Server Error 500", or just a "white screen".
How does it work in reality?
However, in practice, the plugin works for 3-5 minutes. This is because it is actively reading and writing data to the database, and interruptions are disabled when writing to the database.
You often have already received a timeout message, but the plugin is still running. In such cases, if you press the F5 key, a parallel process can start - two plugins will work simultaneously, i.e. items can be added twice. There will be duplicates.
Do not rush to press F5 or refresh the browser page, which is the same thing. First, make sure that the admin/uploads/errors and admin/uploads/report report files do not grow in size, and that the price list line number recorded in the sos file does not change over time.
This is evidence that the plugin actually timed out.
With a supplier form you can perform different actions:
- Add new products
- Update products
- Add new and update products
- Create categories based on the price list product categories
Each mode can be selected from the "Action" menu:
Actions with green letters work only with product update mode.
With this action, the plugin does not update site products even if they are in both the price list and store. Only new products are added.
- Price list (with as much as possible product information)
- Set the form according to the price list columns (you can use the product parsing parameters as well)
- Click the "Start" button or set a cron job
If the price list does not contain new products, the plugin will not take any action. The report file in admin/uploads will be blank.
With this action, we usually update the product prices and quantities.
- Price list (the minimum required columns are: SKU, price, and quantity)
- Set the form
- Click the "Start" button or set a cron job
If you want to update other product parts, for example, images, description, attributes, manufacturer…, you have to specify this using various interface buttons, for example:
Settings that work with product update start with a green letter.
Add and update
With this action, the plugin adds new products from the price list and updates the already existing in the store products.
The SKU is the unique product identifier. If the SKU is available in the catalog, the product will be updated according to the settings. Otherwise, it will be added.
Creating the category structure has nothing to do with adding or updating products. This is a separate process, as a result of which categories are created in the store along with their SEO, image, and hierarchy.
The plugin can not create the top-level categories. You have to add them manually. It can create the subcategories from the price list if in the price list you have the product categories in columns.
- Price list - Required columns are: category name and parent category (can be more than one). Optional: link to the category image
- Price list settings with categories columns ordered from child to parent.
- Click the "Start" button
Save the form before performing an action from the supplier form first page.
The plugin offers more than 270 tools for mass update of products, options, attributes, manufacturers, and categories. You don't need a price list, it works directly with the site database, for example:
For all categories selected in the filter:
- From the products in the category, the best quality image is selected and placed as a category image.
When working with the tools section don't save the form. All tool actions are performed once.
The plugin works on the server, not on your computer. What does that mean?:
- You can't stop it by pressing a button on your keyboard.
- You can't open/refresh your site with the same browser until it works.
Wait for the plugin to complete its task or be stopped by a timeout.
How the price list is processed?
The plugin reads every line from the price list and processes it:
- If the line does not contain a product SKU or price, the line is skipped.
- Checks (by SKU) whether there is such a product in the store. If not, it can add a product, if there is, it will update the product, in accordance with the selected action and your settings.
- Writes to the report files the result of line processing (errors and report files are in the admin/uploads folder on your server). Processing errors are written to the errors.tmp file and successes are written to the report.tmp file.
- Writes the line number and product SKU to the admin/uploads/sos file in case of a timeout, in order to be able to continue processing the price list from the next line, and not from the beginning.
The plugin does not require a lot of server RAM, since only one line of the price list (one product) is processed at a time.
The timeout will not stop the processing of the price list, but will only interrupt it until you refresh the browser page (F5). Refreshing the browser page will "push" the plugin to work further.
A product added to the store using a plugin is no different from a manually created product.
When updating a product, the plugin does not delete the product in order to record it again, but only edits its individual parts.
None of the product details will be updated if the product is skipped (due to lack of price, for example).