আপনি ধ্রুবক যোগ করার পরে wp-config.php
defined('DISABLE_WP_CRON') or define('DISABLE_WP_CRON', true);
এবং ধরে config.yml
নিচ্ছেন যে আপনার সেটআপটি সঠিকভাবে রয়েছে, --path
কল করার সময় আপনি পতাকাটি বাদ দিতে পারেন cron run
।
wp cron event run --due-now
[<hook>…]
চালাতে এক বা একাধিক হুক।
[--due-now]
এই মুহুর্তে সমস্ত হুক চালান।
[--all]
সমস্ত হুক চালান।
করার সব কারণে ক্রন কর্ম চালানোর অনুক্রমে:
function run_crons_due_now_in_order { for SITE_URL in $(wp site list --fields=url --format=csv | tail -n +2 | sort); do wp cron event run --due-now --url="$SITE_URL" && echo -e "\t+ Finished crons for $SITE_URL"; done; echo "Done"; }; run_crons_due_now_in_order;
আপনি যদি সেগুলি একই সাথে চালনা করতে চান (প্রথমে সাইট-নির্দিষ্ট নির্দিষ্ট ক্রোনটি চালাচ্ছেন):
function run_all_crons_due_now { for SITE_URL in $(wp site list --fields=url --format=csv | tail -n +2 | sort); do wp cron event run --due-now --url="$SITE_URL" && echo -e "\t+ Finished crons for $SITE_URL" & done; wait $(jobs -p); echo "Done"; }; run_all_crons_due_now;
আপনি এক্সিকিউটেবল ফাইলে দুটি বিকল্প রাখতে চান to
chmod +x run_all_wp_cron_events_due_now.sh
একটি ক্রন্টব টাস্ক যুক্ত করুন
crontab -e
এবং সম্ভবত প্রতিটি মিনিট চালানো
* * * * * run_all_wp_cron_events_due_now.sh > /dev/null
আপনি যদি ক্রোন থেকে একটি কাস্টম কমান্ড চালাতে চান তবে আপনার ডাব্লুপি-ক্লিমে কাজ করার জন্য পুরো পথ নির্দিষ্ট করতে হবে ।
* * * * * cd /home/username/public_html; /usr/local/bin/php /home/username/wp-cli.phar your-custom-cron-commands run >/dev/null 2>&1
পিএইচপি
আপনার এখানে ওয়ার্ডপ্রেস লোড করার একমাত্র কারণ হ'ল প্রাক-সংজ্ঞায়িত তালিকাটি ব্যবহার না করে ডাটাবেস থেকে ইউআরএল সংগ্রহ করা। আমরা কেবল সেই ইউআরএলগুলিকেই পিং করতে যাচ্ছি এবং প্রতিক্রিয়া কী তা আমরা সত্যিই চিন্তা করি না।
custom-cron.php
<?php
// Load WP
require_once( dirname( __FILE__ ) . '/wp-load.php' );
// Check Version
global $wp_version;
$gt_4_6 = version_compare( $wp_version, '4.6.0', '>=' );
// Get Blogs
$args = array( 'archived' => 0, 'deleted' => 0, 'public' => 1 );
$blogs = $gt_4_6 ? get_sites( $args ) : @wp_get_sites( $args ); // >= 4.6
// Run Cron on each blog
echo "Running Crons: " . PHP_EOL;
$agent = 'WordPress/' . $wp_version . '; ' . home_url();
$time = time();
foreach ( $blogs as $blog ) {
$domain = $gt_4_6 ? $blog->domain : $blog['domain'];
$path = $gt_4_6 ? $blog->path : $blog['path'];
$command = "http://" . $domain . ( $path ? $path : '/' ) . 'wp-cron.php?doing_wp_cron=' . $time . '&ver=' . $wp_version;
$ch = curl_init( $command );
$rc = curl_setopt( $ch, CURLOPT_RETURNTRANSFER, false );
$rc = curl_exec( $ch );
curl_close( $ch );
print_r( $rc );
print_r( "\t✔ " . $command . PHP_EOL );
}
এবং custom-cron.php
কোনও ক্রন্টবে আপনার একক কল যুক্ত করুন
* * * * * wget -q -O - http://your-site.com/custom-cron.php?doing_wp_cron
WP-CLI
কোর কোডটি একবার দেখেছেন?