Forum Replies Created

Viewing 9 replies - 1 through 9 (of 9 total)
  • Thread Starter glashkoff

    (@glashkoff)

    @macmanx hi. Thanks for your opinion!

    Thread Starter glashkoff

    (@glashkoff)

    This is excellent news. Thank you @specialk

    Thread Starter glashkoff

    (@glashkoff)

    Typically these log entries should also include an error message when a failure occurs. This will be in the far right column labeled “Log”. Could you copy the log data from that column here so we can see what is happening?

    I can’t provide logs right now, sorry. Unfortunately, at the time of your message, I had already thoroughly cleaned all the logs to reduce the size of the databases. I will wait for new errors to appear.

    Thread Starter glashkoff

    (@glashkoff)

    @jpry yes, it is. All old events have the status “Failed”. Their log shows that they run from 6 to 15 minutes. Well, actually, running tasks through the wp-cli helped to cope with this.
    The second problem (it is impossible to open /wp-admin/edit.php?post_type=product) I managed to solve by forcibly deleting the “Facebook sync” column in the plugin code. Unfortunately, not all sites can turn off this column manually through the admin interface, because the list of products does not open due to the expiration of the PHP script timeout.
    About the contribution to open source: I see a lot of messages in Issues about the inability to synchronize products. Maybe it has to do with storing the job in wp_options. Right now I don’t have enough time to understand the project and create a quality solution for pull request. But I will try to return to this issue when I deal with the elimination of the consequences that this plugin and others brought to my clients websites.

    Thread Starter glashkoff

    (@glashkoff)

    Just in case, I will clarify why I wrote that storing a job in wp_options is an undesirable solution. This can be useful if someone decides to repeat the same thing that this plugin does. When data is stored this way, site cannot make a simple and fastest request to MySQL like
    DELETE FROM "wp_options" WHERE created_at < DATE_SUB(NOW(), INTERVAL 1 DAY) AND status = "completed"
    Instead, the plugin does an unpredictably resource-intensive operation.
    First, the plugin needs to request all entries with wc_facebook_background_product_sync_job_*. It can be a long time if something goes wrong and the records stop being cleared, or there are a lot of products in the store.
    Then the plugin needs to parse the data in JSON format inside them in order to get the status of the task and perform manipulations with it (sort, delete or change). There may not be enough time for this as part of the background execution of tasks if the site uses the standard cron WP. And even if such site background jobs are run through the wp-cli, there may not be enough server RAM to perform these tasks. Or it just prevents the site from being responsive when background tasks are running.
    The above problem (not from the previous post, but about potential interrupting jobs) is observed by me on many sites that have more than ~100 products. Each of them can have hundreds of variations, so the total number of jobs required for processing can be even 10,000 or more. I dream that someday the plugin will work more efficiently. Thanks for your work anyway, devs.

    • This reply was modified 4 years, 7 months ago by glashkoff.
    • This reply was modified 4 years, 7 months ago by glashkoff.
    Thread Starter glashkoff

    (@glashkoff)

    There are not so many of them with failed.
    {"requests":{"\u0432\u0438\u043d\u043d\u044b\u0439\u041c1\u043a\u043e\u043c\u0444\u043e\u0440\u0442\u041a\u0440\u0443\u04226_10455":"DELETE","p-10455":"UPDATE"},"id":"863abc633168a273085314521000c335","created_at":"2021-05-04 14:05:03","created_by":0,"status":"failed","started_processing_at":"2021-05-04 14:05:44","updated_at":"2021-05-04 14:05:45","total":2,"progress":2,"handles":["AcxJMYkTfvHDueZ9tCI-q9rGSKXsnrUQqpE0ZxZT6e9My8aIvMevtx2dz9M_xxqbir48q8-aYjk-qs5kF1auKfCeUBaqA95awS4MbABbHlTNEQ"],"completed_at":"2021-05-04 14:05:45","failed_at":"2021-05-04 14:05:47","failure_reason":"Uncaught Exception: Job data key \"requests\" not set in \/var\/www\/domain.com\/htdocs\/wp-content\/plugins\/facebook-for-woocommerce\/includes\/Products\/Sync\/Background.php:65\nStack trace:\n#0 \/var\/www\/domain.com\/htdocs\/wp-content\/plugins\/facebook-for-woocommerce\/vendor\/skyverge\/wc-plugin-framework\/woocommerce\/utilities\/class-sv-wp-background-job-handler.php(588): SkyVerge\\WooCommerce\\Facebook\\Products\\Sync\\Background->process_job()\n#1 \/var\/www\/domain.com\/htdocs\/wp-content\/plugins\/facebook-for-woocommerce\/vendor\/skyverge\/wc-plugin-framework\/woocommerce\/utilities\/class-sv-wp-background-job-handler.php(168): SkyVerge\\WooCommerce\\PluginFramework\\v5_10_0\\SV_WP_Background_Job_Handler->handle()\n#2 \/var\/www\/domain.com\/htdocs\/wp-includes\/class-wp-hook.php(292): SkyVerge\\WooCommerce\\PluginFramework\\v5_10_0\\SV_WP_Background_Job_Handler->maybe_handle()\n#3 \/var\/www\/domain.com\/htdocs\/wp-includes\/class-wp-hook.php(316): WP_Hook->apply_filters()\n#4 \/var\/www\/domain.com\/htdocs\/wp-includes\/plugin.php(484): WP_Hook->do_action()\n#5 \/var\/w"}
    Most tasks with the status “completed”. For example:
    {"requests":{"\u043a\u043e\u0440\u0433\u0438\u041c1+\u04221_18660":"DELETE","p-18660":"UPDATE","p-17072":"UPDATE"},"id":"bbbf6746b5eeae8e95a7c0b8035a2e19","created_at":"2021-09-26 15:54:24","created_by":0,"status":"completed","started_processing_at":"2021-09-26 16:06:36","updated_at":"2021-09-26 16:06:47","total":3,"progress":3,"handles":["AcxFcCvticu_mOsu1kXhUOu5Ch5LnJI2d2KEn3bqbv4DD4M3my0r14nm-s-OY4BcYh7-5adTl1H9F9n-8SkKFn8Q"],"completed_at":"2021-09-26 16:06:47"}
    The plugin is always the latest version, WordPress and WC too.

    • This reply was modified 4 years, 8 months ago by glashkoff.
    Thread Starter glashkoff

    (@glashkoff)

    1. In the plugin and on your site you use the dark UX patterns to get this “free”. If you do not enter miniOrange login and pass, Social Login and Social Sharing is not available. This is reported in the message on each page of the plugin: “Please Login with miniOrange to enable Social Login and Social Sharing.”. After entering login and password, the plugin requires an API key. This step cannot be undone. So yes, you ask users to enter an API key. Check it yourself – all tabs of the plugin are blocked after login, but before entering API key. But where to get the API key? There are no links near. I need to look for it in the wilds of your site. On your plans page says: “Free – For 1 User – Forever”. So yes, for free – but for one user. And there are no easy links to get at least this. I need to look for the right information somewhere in your FAQ. But the buttons for “Upgrade plan” are always nearby, in convenient places.
    2. Just check big image in plugin settings with caption “miniOrange Social Login”. This is a very noticeable link. It leads to a page https://plugins.miniorange.com/knowledgebase/social-login-social-sharing/
    But there is no such page on your site (at this moment). Web.archive.org reports that this page never existed. So you did not check this important point at all. This signals a possible poor quality of the plug-in as a whole.

    Thread Starter glashkoff

    (@glashkoff)

    Thank you for finding the source of the problem. I hope the problem will be fixed soon.
    In my opinion, CMB2 somehow does not work 100% properly, because the created metaboxes cannot be disabled in the editor page settings.

    Hey. I also use this plugin.
    Replace while (list($n, $word) = each($wordlist)) { with foreach ($wordlist as $word) {
    For the plugin to work on PHP 7.2, you also need to replace $postid with $postID in line 303 (sp_save_index_entry function) in similar-posts.php.

    • This reply was modified 7 years, 5 months ago by glashkoff.
Viewing 9 replies - 1 through 9 (of 9 total)