$limit = 5;
// With each pass through the callback, retrieve the next group of nids.
$result =
$database->
queryRange("SELECT [nid] FROM {node} WHERE [nid] > :nid ORDER BY [nid] ASC", 0,
$limit,
[':nid' =>
$context['sandbox'
]['current_node'
]]);
foreach ($result as $row) { // Here we actually perform our processing on the current node.
$node_storage->
resetCache([$row['nid'
]]);
$node =
$node_storage->
load($row['nid'
]);
$node->value1 =
$options1;
$node->value2 =
$options2;
node_save($node);
// Store some result for post-processing in the finished callback.
$context['results'
][] =
$node->title;
// Update our progress information.
$context['sandbox'
]['progress'
]++;
$context['sandbox'
]['current_node'
] =
$node->nid;
$context['message'
] =
t('Now processing %node',
['%node' =>
$node->title
]);
} // Inform the batch engine that we are not finished,