VBO option: Invoke Directly or Batch API
One of the options you have when setting up a Views Bulk Operation is...
To execute operations:
- Invoke them directly
- Use Batch API
- Use Job Queue
How do you know which one to select? I asked that question and received a very easy to understand explanation.
A PHP script can only do a limited amount of processing before it hits the memory and execution limit.
So if you invoke an operation directly, the number of items you can handle depends on your server setup.
If you're deleting nodes, one server might be able to delete 100 nodes in one go, another a thousand, another only 10....Batch API goes around the memory and execution limit, so you can handle as many items as you want (select 100 000 rows in VBO, click delete, and it will work). You get a progress bar and it does its thing in the background. However, for a smaller amount of items (that the server could handle in one go), this approach is slower.
The point of the job queue is to delay execution. You execute a VBO operation and it fills a queue. Then a runner executes a queue (usually on cron). Good for lengthy operations that don't need to happen right now, like uploads. The many options and ways of executing a queue also make it attracting.
Quote is from bojanz reply in the VBO Issues forum: http://drupal.org/node/1201768
An example of options available for job queues is the Queue UI project.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion