Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
function glsr_reassign_reviews(int $assignedPostId = 0, array $newAssignedPostIds = [], int $per_page = 100) { // set_time_limit(0); // Uncomment only if necessary $delay_ms = 5000; $newAssignedPostIds = array_filter($newAssignedPostIds, 'is_numeric'); $processed = 0; $resumeKey = "glsr_reassign_reviews_last_page_{$assignedPostId}"; $stream_reviews = function (int $assignedPostId, int $start_page, int $per_page) use ($resumeKey): \Generator { $page = max(1, $start_page); while (true) { $reviews = glsr_get_reviews([ 'assigned_posts' => $assignedPostId, 'orderby' => 'ID', 'page' => $page, 'per_page' => max(1, $per_page), ]); if (1 === $page && empty($reviews->reviews)) { break; } if ($page >= $reviews->max_num_pages) { break; } foreach ($reviews->reviews as $review) { yield $review->ID; } $page++; update_option($resumeKey, $page); } } $last_page = get_option($resumeKey, 1); foreach ($stream_reviews($assignedPostId, $last_page, $per_page) as $reviewId) { glsr_update_review($reviewId, [ 'assigned_posts' => $newAssignedPostIds, ]); $processed++; if ($processed % 200 === 0) { glsr_log("Processed {$processed} reviews"); usleep($delay_ms); // delay every 200 reviews to reduce server load } } glsr_log("Finished processing {$processed} reviews"); delete_option($resumeKey); }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)