Skip to content

RecurrentServerNeed

A bridge between edge and server modeling: a recurring batch of server-side Jobs triggered by an edge deployment, scaled by the number of devices currently deployed.

When to use this class

RecurrentServerNeed is the canonical way to make an edge system reach back to a Server. If the workload is purely on-device, use RecurrentEdgeDeviceNeed subclasses; if it is purely request-driven, use a regular UsageJourney with UsageJourneySteps. See web_vs_edge.

Params

name

A human readable description of the object.

edge_device

EdgeDevice that originates the calls. Used to size the volume against the number of devices in deployment.

An instance of EdgeComputer.

recurrent_volume_per_edge_device

Hourly volume of triggered jobs over a typical week, per single edge device. Multiplied by the deployed device count to obtain the total job volume.

Unnamed source, in typical week of hourly timeseries data, starting on Monday at midnight. For example, 168 values in : first 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], last 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

jobs

Server-side Jobs triggered by each occurrence of this need. The same job can appear multiple times to represent multiple invocations per occurrence.

A list of Jobs.

Calculated attributes

recurrent_need_validation

Validates that the recurrent volume is expressed in occurrences and is non-negative; raises a typed error otherwise.

Example value: 168 values in :
first 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
last 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Depends directly on:

through the following calculations:

You can also visit the link to Validated recurrent need’s full calculation graph.

unitary_hourly_volume_per_usage_pattern

Hourly job-trigger volume for one edge device in each usage pattern, derived by replaying the typical-week pattern in the country's timezone and scaling by how many times the need appears in the journey.

Example value: {
EdgeUsagePattern Default edge usage pattern (7d23cf): 105192 values from 2025-01-01 00:00:00+00:00 to 2037-01-01 00:00:00+00:00 in :
first 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
last 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
}

Depends directly on:

through the following calculations:

You can also visit the link to Unitary hourly need for Default edge usage pattern’s full calculation graph.

fabrication_impact_repartition_weights

Weights used to attribute fabrication-phase emissions of upstream impact sources to each container of this object.

Example value: {
EdgeFunction edge function (db9c30): 105192 values from 2025-01-01 00:00:00+00:00 to 2037-01-01 00:00:00+00:00 in M:
first 10 vals [0, 0, 0, 0, 0, 0, 0, 0.000999, 0.002, 0.003],
last 10 vals [0.005, 0.005, 0.005, 0.005, 0.005, 0.004, 0.003, 0.002, 0.000997, 0],
}

Depends directly on:

through the following calculations:

You can also visit the link to edge function weight in impact repartition’s full calculation graph.

fabrication_impact_repartition_weight_sum

Sum of fabrication impact repartition weights, used as the denominator when normalising into per-container shares.

Example value: 105192 values from 2025-01-01 00:00:00+00:00 to 2037-01-01 00:00:00+00:00 in M:
first 10 vals [0, 0, 0, 0, 0, 0, 0, 0.000999, 0.002, 0.003],
last 10 vals [0.005, 0.005, 0.005, 0.005, 0.005, 0.004, 0.003, 0.002, 0.000997, 0]

Depends directly on:

through the following calculations:

You can also visit the link to Fabrication impact repartition weights sum’s full calculation graph.

fabrication_impact_repartition

Normalised share of fabrication-phase emissions that this object attributes to each container.

Example value: {
EdgeFunction edge function (db9c30): 105192 values from 2025-01-01 00:00:00+00:00 to 2037-01-01 00:00:00+00:00 in :
first 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
last 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
}

Depends directly on:

through the following calculations:

You can also visit the link to fabrication impact attribution to edge function’s full calculation graph.

usage_impact_repartition_weights

Weights used to attribute usage-phase emissions of upstream impact sources to each container of this object.

Example value: {
EdgeFunction edge function (db9c30): 105192 values from 2025-01-01 00:00:00+00:00 to 2037-01-01 00:00:00+00:00 in ·g/kWh:
first 10 vals [0, 0, 0, 0, 0, 0, 0, 84900, 170000, 255000],
last 10 vals [425000, 425000, 425000, 425000, 425000, 340000, 255000, 170000, 84700, 0],
}

Depends directly on:

through the following calculations:

You can also visit the link to edge function weight in impact repartition’s full calculation graph.

usage_impact_repartition_weight_sum

Sum of usage impact repartition weights, used as the denominator when normalising into per-container shares.

Example value: 105192 values from 2025-01-01 00:00:00+00:00 to 2037-01-01 00:00:00+00:00 in ·g/kWh:
first 10 vals [0, 0, 0, 0, 0, 0, 0, 84900, 170000, 255000],
last 10 vals [425000, 425000, 425000, 425000, 425000, 340000, 255000, 170000, 84700, 0]

Depends directly on:

through the following calculations:

You can also visit the link to Usage impact repartition weights sum’s full calculation graph.

usage_impact_repartition

Normalised share of usage-phase emissions that this object attributes to each container.

Example value: {
EdgeFunction edge function (db9c30): 105192 values from 2025-01-01 00:00:00+00:00 to 2037-01-01 00:00:00+00:00 in :
first 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
last 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
}

Depends directly on:

through the following calculations:

You can also visit the link to usage impact attribution to edge function’s full calculation graph.