Azione a lungo termine dal plugin

Sto creando un plugin per WordPress che copierà i dati dei post su un database remoto, so che ci vorrà un po ‘per trasferire tutti i post.

Come dovrei creare la funzionalità di copia in modo che non scada? Idealmente sarebbe eseguito in background e mostrerà una notifica al completamento.

Solutions Collecting From Web of "Azione a lungo termine dal plugin"

Potresti usare WordPress ‘pseudo-cron e wp_schedule_single_event .

 < ?php // add the action. add_action('wpse71941_cron', 'wpse71941_long_running'); function wpse71941_long_running($args) { // might need to call `set_time_limit` here set_time_limit(0); // do long running stuff here // return normal time limit if($l = ini_get('max_execution_time')) set_time_limit($l); } // schedule the event for right now wp_schedule_single_event( time(), 'wpse71941_cron', array('args' => 'for', 'callback' => 'function') ); 

Non sono sicuro se è necessario pasticciare con il limite di tempo. WP chiama ignore_user_abort nella parte superiore dello script di cron.