Feature/transients
Taka wizja jest moja
Jeżeli transienty mają expiration na 0, to są ładowane tym głównym selectem wraz z wszystkimi opcjami - mają ustawiony autoload na 'yes'. Dodatkowo podczas aktualizacji takich transientów nie ma delete, więc eliminujemy te deadlocki. https://developer.wordpress.org/reference/functions/set_transient/
Dodatkowo ustawiłem aby aktualizacja danych wtyczek była co 5 min a nie co 16 sek.
U klienta tak objawiają się te deadlocki:
[STDERR] WordPress database error Deadlock found when trying to get lock; try restarting transaction for query DELETE FROM
wp_gz2dmj_options
WHEREoption_name
= '_transient_require_plugins_data' made by require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), include_once('/plugins/flexible-shipping-usps-pro/flexible-shipping-usps-pro.php'), require('/plugins/flexible-shipping-usps-pro/vendor_prefixed/wpdesk/wp-plugin-flow/src/plugin-init-php52.php'), require('/plugins/flexible-shipping-usps-pro/vendor_prefixed/wpdesk/wp-plugin-flow-common/src/plugin-init-php52.php'), FlexibleShippingUspsProVendor\WPDesk\Plugin\Flow\PluginBootstrap->run, FlexibleShippingUspsProVendor\WPDesk_Basic_Requirement_Checker_With_Update_Disable->are_requirements_met, FlexibleShippingUspsProVendor\WPDesk_Basic_Requirement_Checker->are_requirements_met, FlexibleShippingUspsProVendor\WPDesk_Basic_Requirement_Checker->prepare_requirement_notices, FlexibleShippingUspsProVendor\WPDesk_Basic_Requirement_Checker->check_minimum_require_plugins_version_and_append_notices, FlexibleShippingUspsProVendor\WPDesk_Basic_Requirement_Checker->retrieve_required_plugins_data, FlexibleShippingUspsProVendor\WPDesk_Basic_Requirement_Checker::retrieve_plugins_data_in_transient, get_transient, delete_option\n