specify how many seconds to wait for the KPItask to be completed
This commit is contained in:
parent
aa18393102
commit
3f66676914
@ -365,12 +365,13 @@ namespace FarmmapsApi.Services
|
||||
return bofekItem;
|
||||
}
|
||||
|
||||
public async Task<List<Item>> GetKpiItemsForCropField(Item cropfieldItem)
|
||||
public async Task<List<Item>> GetKpiItemsForCropField(Item cropfieldItem, int waitsecs = 6)
|
||||
{
|
||||
TaskRequest kpiRequest = new TaskRequest { TaskType = KPI_TASK };
|
||||
kpiRequest.attributes["processAggregateKpi"] = "false";
|
||||
int year = cropfieldItem.DataDate.Value.Year;
|
||||
kpiRequest.attributes["year"] = year.ToString();
|
||||
int ms = waitsecs * 1000;
|
||||
|
||||
string itemTaskCode = await _farmmapsApiService.QueueTaskAsync(cropfieldItem.Code, kpiRequest);
|
||||
|
||||
@ -387,7 +388,9 @@ namespace FarmmapsApi.Services
|
||||
_logger.LogError($"Something went wrong with task execution: {itemTask.Message}");
|
||||
return null;
|
||||
}
|
||||
await Task.Delay(6000); // wait 6000 secs for task to be completed
|
||||
_logger.LogInformation($"Taking {waitsecs} seconds to look up all KPI items. The longer we wait the more KPI's we get ..." +
|
||||
$"");
|
||||
await Task.Delay(ms); // wait 60000ms = 60 secs for task to be completed
|
||||
|
||||
//After the task is completed we have 1 kpiContainerItem with a code and with no data
|
||||
//Because the data are in the children of this kpiContainerItem. The container will have a list of children each with an "id" aand data,
|
||||
|
@ -85,6 +85,7 @@ namespace FarmmapsKPI
|
||||
TimeSpan tsTotalEstimated;
|
||||
|
||||
for (int i = 0; i < fieldsInputs.Count; i++)
|
||||
//for (int i = 7; i < 8; i++)
|
||||
{
|
||||
watch.Restart();
|
||||
input = fieldsInputs[i];
|
||||
@ -262,7 +263,7 @@ namespace FarmmapsKPI
|
||||
if (data.area != area_ha)
|
||||
{
|
||||
double differencePercent = 100.0*(Convert.ToDouble(area_ha) / Convert.ToDouble(data.area) - 1.0);
|
||||
_logger.LogWarning($"cropfield has area {area_ha}, but operation has area {data.area}" +
|
||||
_logger.LogWarning($"cropfield has area {area_ha}, but in your KPIinput.json or file like that, you have an operation with area {data.area}" +
|
||||
$" Difference is {area_ha} / {data.area} - 100% = {differencePercent}%." +
|
||||
$" Is that correct? Example if operation was applied in part of field, e.g. in case of variable rate (VRA) application." +
|
||||
$" Or did you accidentally fill in area in the KPIinput json? To use cropfield area, omit field 'area' from json" +
|
||||
@ -311,7 +312,7 @@ namespace FarmmapsKPI
|
||||
//Now get the KPIs for this cropfield, mounted with operations & cropyield
|
||||
// Get KPI data for saving it in a file, here the generalsedrvice is called to get the KPI data
|
||||
_logger.LogInformation($"GetKpiItemsForCropField('{cropfieldItem.Code}')");
|
||||
KPIItems = await _generalService.GetKpiItemsForCropField(cropfieldItem);
|
||||
KPIItems = await _generalService.GetKpiItemsForCropField(cropfieldItem, 60);
|
||||
_logger.LogInformation($"Found {KPIItems.Count} KPI items");
|
||||
|
||||
//Download KPI's into a json output file for this specific cropfield (with unique cropfieldItem.Code)
|
||||
|
Loading…
Reference in New Issue
Block a user