在这篇文章中,我们将带领您了解php–WordPressCronAPI在后台运行吗?的全貌,包括wp-cron.php的相关情况。同时,我们还将为您介绍有关$wpdb->update($table_n
在这篇文章中,我们将带领您了解php – WordPress Cron API在后台运行吗?的全貌,包括wp-cron.php的相关情况。同时,我们还将为您介绍有关$wpdb->update($table_name... 自 Wordpress 5.6 起在 cron 中不起作用、/etc/cron.daily/apt和/etc/cron.daily/aptitude对ubuntu的耐心、cpanel cron 作业和 wordpress、Cron Job Spring,我需要从数据库中验证表上的一行,然后使用 Cron 作业进行修改的知识,以帮助您更好地理解这个主题。
本文目录一览:- php – WordPress Cron API在后台运行吗?(wp-cron.php)
- $wpdb->update($table_name... 自 Wordpress 5.6 起在 cron 中不起作用
- /etc/cron.daily/apt和/etc/cron.daily/aptitude对ubuntu的耐心
- cpanel cron 作业和 wordpress
- Cron Job Spring,我需要从数据库中验证表上的一行,然后使用 Cron 作业进行修改
php – WordPress Cron API在后台运行吗?(wp-cron.php)
我正在读取wp-includes中的cron.PHP代码,而spawn_cron()似乎是实际执行已注册任务的代码.
函数的最后两行:
$cron_url = site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron );
wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );
它只是打开wp-cron.php,将任务作为查询参数传递.
cron.PHP顶部的API描述:
* Schedules a hook which will be executed once by the wordpress actions core at
* a time which you specify. The action will fire off when someone visits your
* wordpress site, if the schedule time has passed.`
我的问题是,让我们说访问者打开网站的一个页面,然后注册的任务由cron API触发.如果任务很繁重并需要几分钟才能完成,那么在任务完成之前,访问者是否会获得一个未完全加载的页面?
[编辑]
为了澄清我的问题,问题是,WP Cron API在页面加载完成后是否运行任务?
解决方法:
$cron_url = site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron );
wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );
使用下面的示例插件,我确认上面的代码(我在问题中引用)是实际调用计划任务的代码.它设置0.0.1超时并访问wp-cron.php.这意味着如果有100个任务,则加载所有任务需要1秒钟.因此它对页面加载速度有轻微影响.但它似乎不必担心太多.
<?PHP
/* Plugin Name: Sample Cron Task */
// I used `heavy` because this code was initially written to test how it affects the server response if a heavy task is registered as a cron job. So forget about the naming.
add_action('admin_menu', 'sample_cron_heavy_task');
function sample_cron_heavy_task() {
add_options_page(
'Sample Cron Heavy Task',
'Sample Cron Heavy Task',
'manage_options',
'sample_cron_heavy_task',
'sample_cron_heavy_task_admin');
}
function sample_cron_heavy_task_admin() {
?>
<div>
<?PHP
wp_schedule_single_event(time(), 'my_action_name');
$cron_url = site_url( 'wp-cron.php?doing_wp_cron=' . $doing_wp_cron );
// executes the registered task immediately
wp_remote_post( $cron_url, array( 'timeout' => 0.01, 'blocking' => false, 'sslverify' => apply_filters( 'https_local_ssl_verify', true ) ) );
echo get_option('sample_cron_heavy_task');
?>
</div>
<?PHP
}
add_action('my_action_name', 'myevent');
function myevent() {
$msg = date('Y m d h:i:s A') . ': the cron task is called.<br />';
update_option('sample_cron_heavy_task', $msg);
}
$wpdb->update($table_name... 自 Wordpress 5.6 起在 cron 中不起作用
如何解决$wpdb->update($table_name... 自 Wordpress 5.6 起在 cron 中不起作用
我在数据库中有自己的表,并通过在 cron 中读取和写入数据库的 XML 文件更新它们;它运行良好,直到 5.6;现在它不会更新数据库,也没有错误消息...
在 cron 中:
$wpdb->update($table_name,array(
''ID'' => $agenda->ID,....
),array( ''ID'' => $agenda->ID),//Where
array(
''%d'',...''
),array(''%d'')
);
/etc/cron.daily/apt和/etc/cron.daily/aptitude对ubuntu的耐心
答案很长:
/etc/cron.daily/aptitude在默认的Hardy安装上只维护/ var / backup中包状态文件的备份,作为名为aptitude.pkgstates.0到aptitude.pkgstates.6的文件(文件1-6被gzip压缩) .
/etc/cron.daily/apt更复杂,并且可以根据您的apt配置设置执行各种操作,这些设置在/etc/apt/apt.conf中维护,以及/ etc / apt / apt下的各种包含文件.conf.d /
如果您想知道每日apt脚本是否正在执行无人值守升级,请检查此apt-config命令的输出.以下是默认值,表示未执行无人值守升级:
$apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade UnattendedUpgradeInterval='0'
有关“无人值守升级”过程(我不建议用于生产系统)的更多信息,请参阅/usr/share / doc / unattended-upgrades / README – 如果该文件不存在,您可能没有安装包“无人值守升级”.
/etc/cron.daily/apt上的每日apt脚本得到很好的评论,默认情况下它每天运行一次“apt-get update”.这只是使可用包文件的缓存保持最新.它不会安装或删除软件包.
您可以将其配置为下载更新的软件包文件,然后可以稍后手动安装,您可以将其配置为清理下载的软件包文件(安装后不需要).
所有这些行为都是通过/etc/apt/apt.conf.d/10periodic中存储的配置设置配置的 – 这些设置默认为:
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Download-Upgradeable-Packages "0"; APT::Periodic::AutocleanInterval "0"; APT::Periodic::Unattended-Upgrade "0";
我建议验证这些设置并阅读/etc/cron.daily中的脚本,但您可能目前没有任何执行无人值守和意外升级的操作.
cpanel cron 作业和 wordpress
如何解决cpanel cron 作业和 wordpress
我在一个 wordpress 网站上工作。 我想通过 cpanel cron 作业对产品进行一些更新。 为此,我在根目录下创建了一个新文件 /public_html/update-products.PHP 并在 cpanel 上添加了 cron 作业命令:
/usr/local/bin/PHP /home1/blahblah/public_html/update-products.PHP
我的问题是我想在这个文件中使用 wordpress 函数,比如 get_option、update_option、update_post_Meta ...等
我应该在文件顶部包含来自 wordpress 的哪个文件。我尝试包含 index.PHP 文件本身,以便我可以使用这些函数。
这里是文件代码(update-products.PHP)
require_once __DIR__ . ''/index.PHP'';
require_once __DIR__ . ''/wp-content/plugins/citycenter-products/includes/api.PHP'';
$last_update_info = get_option(DS_CITYCENTER_PRODUCTS_LAST_UPDATE_COMPACT_OPTION);
$data = array(''type'' => ''compact'');
if ($last_update_info) {
$data[''from_datetime''] = $last_update_info[''date''].'' ''.$last_update_info[''time''];
}
$result = update_citycenter_products($data);
$last_update_info = array(
''type'' => ''compact'',''date'' => date(''Y-m-d''),''time'' => date(''H:i:s''),''total'' => $result[''total''],''updated'' => $result[''updated''],''added'' => $result[''added''],);
update_option(DS_CITYCENTER_PRODUCTS_LAST_UPDATE_COMPACT_OPTION,$last_update_info);
解决方法
这是因为您的文件在 WordPress 之外,所以最终是一个独立的 PHP 脚本。
查看关于 CRON 作业的 Wordpress documentation。 WordPress 有自己正确处理 CronJob 的方式。按照此方法,您将可以访问所有 WordPress 生态系统(方法和内容)。
如果您真的想在独立脚本中加载 WordPress 生态系统,则需要 wp-load.php
文件。检查this stack。
替换为 require_once __DIR__ . ''/wp-load.php'';
而不是
require_once __DIR__ . ''/index.php'';
Cron Job Spring,我需要从数据库中验证表上的一行,然后使用 Cron 作业进行修改
如何解决Cron Job Spring,我需要从数据库中验证表上的一行,然后使用 Cron 作业进行修改
我尝试从 Spring 使用 @Scheduler,但看起来我的存储库是“null”,然后我尝试了 Quartz 但我认为我的方法不正确,我正在尝试咨询一个数据库,检查一个字段是否超过 90 天,如果有我需要将该字段设置为 true,所有这些都与此 Cron 作业有关。但是每次我尝试它时,Dao 存储库都会说我正在使用它的“空”,只有当我在 Cron 作业方法上调用此存储库时。
今天关于php – WordPress Cron API在后台运行吗?和wp-cron.php的分享就到这里,希望大家有所收获,若想了解更多关于$wpdb->update($table_name... 自 Wordpress 5.6 起在 cron 中不起作用、/etc/cron.daily/apt和/etc/cron.daily/aptitude对ubuntu的耐心、cpanel cron 作业和 wordpress、Cron Job Spring,我需要从数据库中验证表上的一行,然后使用 Cron 作业进行修改等相关知识,可以在本站进行查询。
本文标签: