Questions tagged [batch-operations]

Use it for questions about the core API that allows developers to split a big task in several minor chunks or batches.

Filter by
Sorted by
Tagged with
2 votes
0 answers
40 views

How to handle batch operations when the user machine gets into suspended mode?

I'm importing a large dataset into the database using the BatchBuilder in Drupal. It takes more than one and a half hours to complete all the operations in the batch. The process starts with user ...
  • 121
1 vote
0 answers
188 views

batch_set results in TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback

I am trying to set a batch from a confirmation form. When it is submitted, this is the code: $operations = []; $operations[] = [ [UpdateEntity::class, 'execute'], ['field_group'] ]; $batch = ...
  • 27.2k
1 vote
1 answer
625 views

How do I programmatically add images to a node?

I have a content type to which I added an image field. The database has a custom table with different columns, including the image ID. Previously, I created a batch that writes data from this table to ...
  • 21
1 vote
2 answers
256 views

Batch API drush command running once then shows Solr error

I am trying to create a drush command to run a batch process. When I run the command, the batch runs just once, and I get this error : in Drupal\search_api_solr\SolrConnector\SolrConnectorPluginBase-&...
1 vote
0 answers
117 views

Why might a batch initiated in hook_install() sometimes not process?

I have two modules, module_alpha and module_beta. Both modules install a database table with hook_schema() which they use to track information about published nodes. Data is logged in the table with ...
  • 7,472
1 vote
1 answer
437 views

How can I fix "Allowed memory size exhausted" on batch finish?

The batch processed all the items, but instead of showing the finish message, I see the error "Allowed memory size of 536870912 bytes exhausted". When I debug the code, I notice that Drupal ...
0 votes
0 answers
287 views

Batch Error: Using $this when not in object context, so Can I call batch method in non static way?

The existing code when a form is submitted I execute this batch : /** * {@inheritdoc} */ public function submitForm(array &$form, FormStateInterface $form_state) { $node_titles = ['node1', '...
1 vote
1 answer
330 views

How to know if a batch process is still running?

I have a form with 5 buttons and each button run a different batch, some batch processes take several minutes. I want to block the button if the batch processes is already running, because other user ...
0 votes
1 answer
205 views

Batch processing possible without redirects?

I'm using the Views Data Export module for exporting Views as .csv. Standard exports work in most cases, but with larger table only batch exports work. The problem with batch exports is that the ...
0 votes
1 answer
85 views

Why does rest export give bad result when executed in batch?

In a custom module (association), I have two content entities (member and person). A function _export_association() is called at the end of each hook_entity (insert, update, delete) in order to run ...
  • 982
0 votes
0 answers
32 views

How to make progress_message more accurate?

In the submitForm of MembershipSettings, I run a batch: $operations = []; << some query on an custom entity >> $results = $query->execute(); foreach ($results ...
  • 982
0 votes
1 answer
169 views

How to display batch progression with default theme of my site?

I just created my first batch using batch API and it seems to work! The progression bar is properly displayed during the execution and it uses administration theme, Seven for my site, which I guess is ...
  • 982
2 votes
1 answer
68 views

How to resave all user accounts on a schedule?

I want to re-save all user accounts on my site weekly because I wrote some code in hook_user_presave() that I want to update every week. Specifically, my hook_user_presave() code updates the values of ...
1 vote
2 answers
343 views

Batch redirect to http instead of https

i'm working on a project and all batch callbacks in http not https so instead of redirecting to https://example.com/batch?id=844&op=start redirect to http://example.com/batch?id=844&op=start, ...
  • 6,857
1 vote
1 answer
304 views

Retain Guzzle Session During Batch Operations

On a Drupal 7 site, I am using the Batch API to perform operations on many entities, one at a time. During a typical operation, the D7 site uses Guzzle to make a POST call to a Drupal 8 site. The D7 ...
0 votes
1 answer
250 views

hook_update_n($sandbox) batch getting executed only once

Following is the code where I'm willing to update the description of the field_meta_tags of all my products using the batch process. It's getting executed & working as expected, but only for the ...
2 votes
1 answer
539 views

How do I create a derivative?

I would like to create a queue derivative, where I can use a single QueueWorker class to process multiple queues, but I am not able to achieve it. Any help would be greatly appreciated. The module ...
1 vote
1 answer
182 views

How do I re-save all users?

I need to re-save about 300 user to initialize geo-coding on their address fields. On /admin/people, I don't see any bulk action that would fit my needs. I have tested the update path-alias but with ...
  • 1,360
2 votes
1 answer
305 views

How to pass parameters by reference to a batch?

I need to process a parameter in a batch function where the result will be kept after the function ends and it should be then passed in the finished function of the same batch. Is there a way to pass ...
  • 157
0 votes
1 answer
171 views

Views data export user role field value missing from exported csv file

I'm using views_data_export to export data from the views displays. I added a Data Export option to the user account list views. When I use the batch in export settings, user role field is missing in ...
  • 380
0 votes
1 answer
246 views

How to display a table with results when a batch is finished

I could setup a nice batch, everything is working well. But when the batch is finished, I would like to display a beautiful table with the computed results. I could do it with the drupal_set_message ...
  • 438
1 vote
1 answer
62 views

Why doesn't the batch process start?

I've created a class that extend the 'FormBase' class to create a form where I can upload a XLSX file to import into custom DB table. To process the import I would use the 'Drupal batch process' to ...
2 votes
1 answer
260 views

Generate PDF with wkhtmltopdf after batch finished

I would like to generate a pdf with wkhtmltopdf at the end of my batch. I integrate the generation in the callback function but it does not offer me the download of the file This is my finished ...
  • 75
0 votes
1 answer
602 views

How to handle exceptions in a batch process

I have some special configured content entities in my system which are protected in a pre-delete hook against entity deletion. There is also a batch process (VBO - entity delete) where they can be ...
  • 3,115
0 votes
2 answers
742 views

Use of batch in REST endpoints

I want to use batch in POST in rest endpoints in Drupal 8, but my batch is not getting progressed. I am creating rest endpoints for my module which will send email to bulk users. So for this purpose I ...
2 votes
1 answer
776 views

Batch API to process millions of records

I need to run Batch API on a huge dataset. Specifically I have a custom table with a lot of rows which I need to iterate over. The batch process works fine using small numbers. When using the full set ...
  • 517
2 votes
1 answer
361 views

Batch API error: ResponseText: {"errors":[{"message":"Not acceptable format: json"}]}

When running a batch process on Drupal 8, the following error is returned: ResponseText: {"errors":[{"message":"Not acceptable format: json"}]} The HTTP response is HTTP POST / 406 I can see the ...
  • 21.8k
1 vote
1 answer
659 views

Batch API: What am I doing wrong?

I am trying to import some videos into a 8.0.5 site (yes, I know I should upgrade) I have over 200 videos that neeed to be imported into their own individual node. It seems like a perfect opportunity ...
-2 votes
1 answer
151 views

Is the finished callback mandatory?

I checked the documentation about the callbacks used from the batch API, but I didn't find any information about the finished callback being mandatory or not. Is that callback mandatory or optional?
0 votes
1 answer
862 views

Batch API times out when running a single operation

I'm trying to print ~100 nodes worth of content (Performance Plans) out to the private file system using the batch API. My process works perfectly up until about 10 of them and then times out. The ...
2 votes
1 answer
788 views

Passing form value into batch process

I have a form that is used to trigger a bulk operation and add a node for each of the currently registered users on the site. This is all working well, but I'd like to pass form data from BulkAddForm....
0 votes
0 answers
252 views

How to trigger batch job from the command line

I have a batch job that is triggered as soon as I open a specific url of my site, let's call it "http:\mysite.com\job" The last code of that page is: batch_set($batch); batch_process('/'); I need ...
  • 377
2 votes
1 answer
750 views

Continuing an interrupted batch

I'm using a batch job in Drupal 8 to scrape pages from another site to import. I'm using httpClient, and I have it wrapped in a try/catch. try { $response = \Drupal::httpClient()->get($parts['...
  • 3,889
0 votes
0 answers
46 views

Is it possible to set time interval between adjacent operations in Batch API?

I need to send several thousands of e-mails via Amazon SES. As it turned out, Amazon SES can send no more that 14 e-mails per second. I can send to it no more than 14 e-mails per second - it's a ...
7 votes
4 answers
9k views

How do I structure the batch API array?

I'm working on a Drupal 8 custom module to scrape pages from a site for migration. Since we're dealing with a large number of pages, I wanted to set up batch processing, to deal with timeouts. I ...
  • 3,889
0 votes
1 answer
503 views

Can't save node using batch

When I'm trying to save a node using batch processing, I'm getting this error: PDOException: in drupal_write_record() (line 7383 of C:\wamp64\www\drupal7\includes\common.inc). Here is my complete ...
-1 votes
1 answer
345 views

Passing important data to batch operation

I can't seem to pass any info to the 'finished' function of this batch operation. Everything works in terms of data getting saved correctly but I get the following error message due to the 'finished' ...
  • 1
1 vote
3 answers
3k views

How to write big updation code using Batch API?

I am writing a script to update all website registered user's Username & Email address. I have more then 5000+ users in my website which causes PHP execution time out error. So I tried to ...
0 votes
1 answer
1k views

Batch API timeout during initialization

I'm creating a module to batch import/update nodes in Drupal 7 based on input files that can be XML or other formats. Worst case scenario is they are like ~10-20MB and can contain 10-20k entries. ...
1 vote
1 answer
285 views

Why won't my batch finish?

I have setup a Batch work which looks the following (dump at run time). The method called for each batch is a public static method, so that is not a problem. All operations performs perfectly, my ...
  • 131
4 votes
3 answers
8k views

How can execute batch api over cron jobs

I am working on Drupal 8 and batch API. I created the batch api calling importingmatch and it should automatically importing every 1 hour. My solution is use Drush for make it works without the ...
  • 185
2 votes
1 answer
695 views

How to know how many elements are processed in the finish callback?

I followed Smack My Batch Up : Batch Processing In Drupal 8 article to create a batch job and all works fine. But in the finish callback I can't get the total number of processed elements. This is my ...
8 votes
2 answers
3k views

How do you do a redirect after a batch job?

I'm working on setting up a batch process in Drupal 8 that will gather a bunch of remote information for a collection of entities, cache it, and create a list of the results on its own page. The batch ...
  • 2,700
0 votes
2 answers
488 views

What's the correct way of referencing a method in a controller for running through batch processing?

I have a set of batch operations with: foreach ($urls as $url) { $test_sites[] = array('\Drupal\my_module\Controller\BatchTestSite::TestSite', $url); } When I run it I get the following: ...
  • 3,253
4 votes
0 answers
168 views

Is it possible to have a batch job run in a modal

I created a form that on submit it creates a CSV file via batch API. It works perfectly when submitting the form regularly but can't get it to work from a Ctools modal. Could it be that it just isn't ...
  • 3,377
0 votes
1 answer
167 views

How do I show a message about the currently executed operation?

I have created a batch, and it's working, but I want to control the messaging a little better. I would like to give the user some feedback about the currently executing operation, other than just ...
  • 4,185
7 votes
3 answers
10k views

Documentation or Tutorial on using Batch or Queue Services API Programmatically [closed]

I am working on importing content into my drupal 8 website from an external API that returns XML data. The calls to the API take a long time to process. When I make too many queries at once it takes ...
  • 181
2 votes
2 answers
2k views

How to delete stuck batch?

What is a good way to delete a stuck batch in Drupal 7? It is on a production server, we are using the Background Batch module so it shows us which one it is at admin/config/system/batch/overview. I ...
1 vote
1 answer
912 views

Use static function as operations with batch API

I can't get batch to work with a static method as callback function for the operation $batch['operations'][] = ['MyController::MyMethod', [$arg]]; If I use a procedural function and call a static ...
  • 484
0 votes
1 answer
323 views

Batch operation keeps looping after completion

The batch operation I created works fine, until it's done. Once it's done it just loops back and does it again. It will loop through until the VM runs out of resources. I am fairly certain this ...
  • 1,081