Проблема с созданием задания cron wordpress
В настоящее время я пытаюсь создать плагин wordpress, где я могу торговать биткоинами. Я должен создать задание cron, в котором я хочу проверить значение, которое я получаю от некоторых вызовов API, но мое задание cron не активируется должным образом.
Я также попытался сделать случайное "эхо", чтобы узнать, не является ли проблема моим кодом API, но я думаю, что проблема в том, что wordpress не активирует мою работу cron.
Это мой код:
function my_activation() {
if (!wp_next_scheduled ( 'my_periodic_event' )) {
wp_schedule_event(time(), 'thirtysec', 'my_periodic_event');
}
add_action('my_periodic_event', 'checkCurrencyValue');
}
function checkCurrencyValue() {
global $market, $quantita, $durata, $wpdb, $table_name;
$table_name = $wpdb->prefix."bittrex_account_info";
$users = $wpdb->get_results( "SELECT chiave FROM $table_name");
// The query will get the complete users login id/login name
foreach ( $users as $user ) {
echo $user->chiave;
}
$users = $wpdb->get_results( "SELECT chiave FROM $table_name WHERE email = '[email protected]'");
$wpdb->update( $table_name, array( 'chiave' => $key, 'secret' => $users),array('email'=>'[email protected]'));
$d = new BittrexxApi ($key, $secret);
$quantita = $wpdb->get_var("SELECT quantita FROM wp_bittrex_account_info WHERE email = '$mail'");
$discesaMax = $wpdb->get_var("SELECT discesaMax FROM wp_bittrex_account_info WHERE email = '$mail'");
$maxValDol = $wpdb->get_var("SELECT maxvaldol FROM wp_bittrex_account_info WHERE email = '$mail'");
$summ = $d->getMarketSummary("USDT-BTC");
if($summ<discesaMax){
//$balance = $d->buyLimit($market, $quantita, $durata);
}
else if($summ>maxValDol){
//$balance = $d->sellLimit($market, $quantita, $durata);
}
}
Мой регистровый крючок работает: функция my_activation() выполняется, но не функция checkCurrencyValue(). Есть какая-то проблема?
Заранее благодарю тебя, Филиппо
1 answers
Вот уменьшенная ссылка, которую я использую для настройки cron Wordpress, которая все из wp_schedule_event()
и cron_schedules
:
Настройка Cron
// SETUP CRON
add_action('wp', 'myplugin_schedule_cron');
function myplugin_schedule_cron() {
if ( !wp_next_scheduled( 'myplugin_cron' ) )
wp_schedule_event(time(), 'daily', 'myplugin_cron');
}
Функция Cron
// the CRON hook for firing function
add_action('myplugin_cron', 'myplugin_cron_function');
#add_action('wp_head', 'myplugin_cron_function'); //test on page load
// the actual function
function myplugin_cron_function() {
// see if fires via email notification
wp_mail('[email protected]','Cron Worked', date('r'));
}
Пользовательский временной интервал Cron
Если часового, ежедневного по умолчанию Wordpress недостаточно, вы можете создать свой собственный.
// CUSTOM TIME INTERVAL
add_filter('cron_schedules', 'myplugin_cron_add_intervals');
function myplugin_cron_add_intervals( $schedules ) {
$schedules['customTime'] = array(
'interval' => 30,
'display' => __('Every 30sec')
);
return $schedules;
}
Замена daily
в wp_schedule_event()
на customTime
Просмотр крон
Вы также можете просматривать свой cron через графический интерфейс с помощью плагина: https://wordpress.org/plugins/search/cron +просмотр/