Evaluating Batch Script not updating status

Hi, I am using the batch request API for the first time.
I use the following eval script:

//VERSION=3

function setup() {
    return {
      input: [{
        datasource: "s1grd",
        bands: ["VV", "VH"]
      }],
      output: [ {
        id: "VV_Median",
        bands: 1,
        sampleType: "UINT16"
      }, {
        id: "VH_Median",
        bands: 1,
        sampleType: "UINT16"        
      }],
      mosaicking: Mosaicking.ORBIT
    };
  }

// Defines function to fetch the median of a value array
function getMedian(values){
    if(values.length ===0) return 0;
    values.sort(function(a,b){
    return a-b;
    });  
    var half = Math.floor(values.length / 2);
    if (values.length % 2)
    return values[half];
    return (values[half - 1] + values[half]) / 2.0;
}



function evaluatePixel(samples) {
  // Store samples from two different datasources into
  // separate objects
  var S1GRD = samples.s1grd;

  

  // Initialise S1GRD VV and VH arrays
  var vv_array = [];
  var vh_array = [];

  // Push values to arrays
  for (var i = 0; i < S1GRD.length; i++) {
      vv_array.push(S1GRD[i].VV);
      vh_array.push(S1GRD[i].VH);
  }

  // Assign median to output variable
  var median_vv = getMedian(vv_array);
  var median_vh = getMedian(vh_array);

  // Define evalscript responses
  return {
    VV_Median: [median_vv * 10000],
    VH_Median: [median_vh * 10000]
  };
}
"""

And the following code:

area_gdf = gpd.read_file(shape_file_path)
        full_geometry = Geometry(area_gdf.geometry.values[0], crs=self.crs)



        shb = SentinelHubBatch(self.config)


        sentinelhub_request = SentinelHubRequest(
            evalscript=evalscript,
            input_data=[
                    SentinelHubRequest.input_data(
                        data_collection=DataCollection.SENTINEL1_IW,
                        time_interval=interval,
                        other_args={"id": "s1grd"}
                        ),
                ],
            responses=responses,
            geometry=full_geometry,
            config=self.config
        )

        batch_request = shb.create(
            sentinelhub_request,
            tiling_grid=SentinelHubBatch.tiling_grid(
                grid_id=self.grid_id,
                resolution=10,
                buffer=(5, 5)
            ),
            bucket_name=self.aws_bucket_name,
            # Check documentation for more about output configuration options:
            # output=SentinelHubBatch.output(...)
            description='Builtup-checker-BatchProcessing'
        )

        shb.start_analysis(batch_request)
        batch_request = shb.get_request(batch_request)
        print(batch_request)
        while (batch_request.status != BatchRequestStatus.ANALYSIS_DONE):
            self.logger.info(f'{batch_request.status} {batch_request.request_id}')
            time.sleep(20)
            batch_request = shb.get_request(batch_request)

        self.logger.info(f'Running this batch job will take about {batch_request.value_estimate:.4f} processing units')    

However, the status never (canceled after 10+ min) changes from CREATED.
Is there anything I need to keep in mind?

Thanks for the help.

Oh and sorry if this is obvious and covered in the documentation. I did not find it :slight_smile:

Hi @benedict ,

I looked into your requests and you are not doing anything wrong.

There seems to be a large queue of batch requests on our side, well beyond usual peaks, so it might just take a bit longer to process. We are looking into it and will provide an update on the situation.

We are sorry for the inconvenience.

HI @benedict,

note that your orders were now analysed, unfortunately they failed. It seems the test run picks a place, where there are no S1 data available, so you have to test for that in the Evalscript.

As a side note - the queue is still persisting, so it might take a bit longer for the next couple of hours. We are looking how to mitigate the process in the future, to avoid such situations.

Best,
Grega