• Resolved traqbar

    (@traqbar)


    Hello,

    I only tested this software but now it is breaking my site if I try to remove it and delete the tables. Please tell me how to remove it ASAP.

    This is an awful piece of software.

    Thanks

Viewing 12 replies - 1 through 12 (of 12 total)
  • Thread Starter traqbar

    (@traqbar)

    Hello, Still waiting for help about this. I am receiving the error as below.

    I do not need this plugin and I just want to remove it from my multisite. But it crashes everything as soon as I try to remove it.

    AH01071: Got error ‘PHP message: WordPress database error Table ‘production.wp_actionscheduler_actions’ doesn’t exist for query SELECT a.action_id FROM wp_actionscheduler_actions a WHERE 1=1 AND a.hook=’action_scheduler/migration_hook’ AND a.status IN (‘in-progress’) ORDER BY a.scheduled_date_gmt ASC LIMIT 0, 1 made by require_once(‘wp-admin/admin.php’), require_once(‘wp-load.php’), require_once(‘/var/www/production/shared/wp-config.php’), require_once(‘wp-settings.php’), do_action(‘wp_loaded’), WP_Hook->do_action, WP_Hook->apply_filters, Action_Scheduler\Migration\Controller->schedule_migration, Action_Scheduler\Migration\Scheduler->is_migration_scheduled, as_next_scheduled_action, ActionScheduler_Store->query_action, ActionScheduler_HybridStore->query_actions, ActionScheduler_DBStore->query_actions, W3TC\DbCache_WpdbNew->query, W3TC\DbCache_WpdbInjection_QueryCaching->query, W3TC\_CallUnderlying->query, W3TC\DbCache_WpdbNew->query, W3TC\DbCache_WpdbInjection->query, W3TC\DbCache_WpdbNew->default_query; PHP message: WordPress database error Table ‘production.wp_actionscheduler_actions’ doesn’t exist for query SELECT a.action_id FROM wp_actionscheduler_actions a WHERE 1=1 AND a.hook=’action_scheduler/migration_hook’ AND a.status IN (‘pending’) ORDER BY a.scheduled_date_gmt ASC LIMIT 0, 1 made by require_once(‘wp-admin/admin.php’), require_once(‘wp-load.php’), require_once(‘/var/www/production/shared/wp-config.php’), require_once(‘wp-settings.php’), do_action(‘wp_loaded’), WP_Hook->do_action, WP_Hook->apply_filters, Action_Scheduler\Migration\Controller->schedule_migration, Action_Scheduler\Migration\Scheduler->is_migration_scheduled, as_next_scheduled_action, ActionScheduler_Store->query_action, ActionScheduler_HybridStore->query_actions, ActionScheduler_DBStore->query_actions, W3TC\DbCache_WpdbNew->query, W3TC\DbCache_WpdbInjection_QueryCaching->query, W3TC\_CallUnderlying->query, W3TC\DbCache_WpdbNew->query, W3TC\DbCache_WpdbInjection->query, W3TC\DbCache_WpdbNew->default_query; PHP message: WordPress database error Table ‘production.wp_actionscheduler_actions’ doesn’t exist for query SELECT count(a.action_id) FROM wp_actionscheduler_actions a WHERE 1=1 made by require_once(‘wp-admin/admin.php’), do_action(‘tools_page_action-scheduler’), WP_Hook->do_action, WP_Hook->apply_filters, ActionScheduler_AdminView->render_admin_ui, ActionScheduler_Abstract_ListTable->display_page, ActionScheduler_ListTable->prepare_items, ActionScheduler_HybridStore->query_actions, ActionScheduler_DBStore->query_actions, W3TC\DbCache_WpdbNew->query, W3TC\DbCache_WpdbInjection_QueryCaching->query, W3TC\_CallUnderlying->query, W3TC\DbCache_WpdbNew->query, W3TC\DbCache_WpdbInjection->query, W3TC\DbCache_WpdbNew->default_query; PHP message: WordPress database error Table ‘production.wp_actionscheduler_actions’ doesn’t exist for query SELECT a.action_id FROM wp_actionscheduler_actions a WHERE 1=1 ORDER BY a.scheduled_date_gmt ASC LIMIT 0, 10 made by require_once(‘wp-admin/admin.php’), do_action(‘tools_page_action-scheduler’), WP_Hook->do_action, WP_Hook->apply_filters, ActionScheduler_AdminView->render_admin_ui, ActionScheduler_Abstract_ListTable->display_page, ActionScheduler_ListTable->prepare_items, ActionScheduler_HybridStore->query_actions, ActionScheduler_DBStore->query_actions, W3TC\DbCache_WpdbNew->query, W3TC\DbCache_WpdbInjection_QueryCaching->query, W3TC\_CallUnderlying->query, W3TC\DbCache_WpdbNew->query, W3TC\DbCache_WpdbInjection->query, W3TC\DbCache_WpdbNew->default_query’, referer:

    Plugin Author Barry

    (@barryhughes-1)

    I only tested this software but now it is breaking my site if I try to remove it and delete the tables.

    It sounds like perhaps you uninstalled Action Scheduler and deleted its tables, but one of your other plugins still depends on it (and is still trying to access those deleted tables).

    To clarify the above a little: though you can install Action Scheduler yourself (as a ‘top level’ plugin, just like any other), this is not how it is normally used. Instead, other plugins that wish to use its features and functionality embed it as one of their libraries.

    Perhaps you, or your host, could re-establish the missing tables? You could use the information found here to help with this. Or, if you can access the Tools ? Scheduled Actions admin screen, then simply visiting that page should be enough to rebuild the tables (I’m not sure if that is possible in your case, however).

    Once you’ve done that, we can try to determine which of your plugins (there may be more than one) includes Action Scheduler and make a further decision from there.

    Thread Starter traqbar

    (@traqbar)

    Hello,

    Thanks for your reply. I came to understand where the failure was coming from. An additional issue was that as I have multisite the plugin would not rebuild tables per site. So I had to activate the plugin per site to get the tables built.

    I found that WP Mail SMTP plugin is hooked and maybe W3 totalcache – not sure if that was just running a cached database query though. So I got my site backup but I don’t want these extra tables hanging around on each of my sites. Is it right that WP Mail SMTP would install these tables without Action Scheduler? As you described this is used more as a library than a top level plugin I get this idea.

    I am quite happy with my cronjob setup on my VPS and see no need for additional complications of more tables managing a seperate set of tasks. I would avoid any plugins that would add this additional complexity. I only installed this plugin accidentally whilst I was searching for something to prove all the cron tasks are running correctly. There is a plugin with a similar name which I meant to use.

    I intend to remove WP Mail SMTP soon and build my own version as it is a bit of bloatware and I only need a clean SMTP plugin. But I am not ready yet. However, my question is – is there an option which is triggered when WP Mail SMTP sees that action scheduler is installed so it switches to using these tables? Or is it dependent on these tables and will install them itself without action scheduler?

    I am presuming that it does not build the tables as hence the collapse of my site when the tables were removed. So somewhere there must be an option setup I presume. I haven’t researched this but I am thinking out aloud.

    Thanks

    Plugin Author Barry

    (@barryhughes-1)

    Is it right that WP Mail SMTP would install these tables without Action Scheduler? As you described this is used more as a library than a top level plugin I get this idea.

    Right: if a plugin is bundled with Action Scheduler and loads it on each request (which is the typical pattern), those additional tables will automatically be created.

    However, my question is – is there an option which is triggered when WP Mail SMTP sees that action scheduler is installed so it switches to using these tables? Or is it dependent on these tables and will install them itself without action scheduler?

    I don’t know for a fact how WP Mail SMTP uses Action Scheduler, but in most cases the parent plugin will depend on Action Scheduler and will not have any kind of fallbacks.

    I am presuming that it does not build the tables as hence the collapse of my site when the tables were removed. So somewhere there must be an option setup I presume.

    Like many applications (including WordPress itself), Action Scheduler can fail if one of the tables it expects to be present are suddenly removed.

    Neither automatically check for and rebuild missing tables on every single request (this would be possible, but represents overhead that normally is not needed).

    Plugin Author Barry

    (@barryhughes-1)

    I only installed this plugin accidentally whilst I was searching for something to prove all the cron tasks are running correctly. There is a plugin with a similar name which I meant to use.

    Understood.

    I suspect the core problem is that the tables were already installed (perhaps by the copy of Action Scheduler included in WP Mail SMTP, but possibly one or more other plugins) and so they were already in active use when you removed them.

    Thread Starter traqbar

    (@traqbar)

    Hello,

    I understand this, but during my testing of deactivating and activating plugins, the tables were not rebuilt – I don’t think so anyway, there was a lot I was trying at the time.

    I will have to look further into this when I am ready to remove said plugin.

    Plugin Author Barry

    (@barryhughes-1)

    I guess my earlier comments may have been a little unclear.

    When a plugin includes (and loads) its own copy of Action Scheduler, it doesn’t need to ‘worry’ about creating the additional tables required by Action Scheduler: the library handles this itself. Or, that is the intention.

    Once the tables are created, Action Scheduler makes a note of the schema version and stores this in the options table. For efficiency reasons, on future loads, it checks if this is set (and checks its value) before attempting to rebuild (or update) the tables.

    Plugin Author Barry

    (@barryhughes-1)

    schema-ActionScheduler_LoggerSchema

    schema-ActionScheduler_StoreSchema

    These are the names used for the relevant options. So, you could try deleting those as a further way to try and force table creation. Also, if you happen to have access to WP CLI, you could try running:

    wp action-scheduler fix-schema
    Thread Starter traqbar

    (@traqbar)

    Hello,

    The tables are already back up as previously explained when I activated per site the plugin. I will be looking into what plugins I need to remove in future so I can remove these tables entirely. I am not happy to add this additional level of complexity without having opted in to it.

    Thanks

    Thread Starter traqbar

    (@traqbar)

    When a plugin includes (and loads) its own copy of Action Scheduler, it doesn’t need to ‘worry’ about creating the additional tables required by Action Scheduler: the library handles this itself. Or, that is the intention.

    So a plugin will not install the tables by itself? Only if Action Scheduler is installed will the tables be inserted? Or do you mean the library in the plugin will install the tables?

    Thanks

    Plugin Author Barry

    (@barryhughes-1)

    OK, glad things are stable.

    I am not happy to add this additional level of complexity without having opted in to it.

    I’ll mark this as resolved as it doesn’t sound like you need further assistance from us, and because the decision to use Action Scheduler vs other tools (like WP Cron) is generally one that rests with individual plugins.

    Plugin Author Barry

    (@barryhughes-1)

    I’m sorry, I missed your further question:

    Or do you mean the library in the plugin will install the tables?

    Exactly.

    For example, if you author a plugin of your own, and include Action Scheduler as one of your libraries, then you will make a call to load the library but otherwise you would not need to take any action to trigger the creation of the tables it requires.

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘How to remove this?’ is closed to new replies.