updates
This commit is contained in:
@@ -4,6 +4,9 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"doormile/constants"
|
||||
@@ -21,9 +24,28 @@ const (
|
||||
retryDelay = 2 * time.Minute
|
||||
geoRadiusKm = 10.0
|
||||
geoMaxCount = 10
|
||||
maxActive = 3
|
||||
|
||||
// defaultMaxActive is how many open stops one miler may hold at once.
|
||||
// Override with MILER_MAX_ACTIVE_BOOKINGS — how many parcels a rider can
|
||||
// realistically run in one round is an operational call, not a constant,
|
||||
// and it differs between a dense city round and an intercity leg.
|
||||
defaultMaxActive = 3
|
||||
)
|
||||
|
||||
// maxActiveBookings reads the per-miler concurrent-stop cap, read per call so
|
||||
// it can be changed without a redeploy. A non-numeric or non-positive value
|
||||
// falls back to the default rather than uncapping the fleet by typo.
|
||||
func maxActiveBookings() int64 {
|
||||
if v := strings.TrimSpace(os.Getenv("MILER_MAX_ACTIVE_BOOKINGS")); v != "" {
|
||||
if n, err := strconv.Atoi(v); err == nil && n > 0 {
|
||||
return int64(n)
|
||||
}
|
||||
utils.Warn("MILER_MAX_ACTIVE_BOOKINGS is not a positive integer, using the default",
|
||||
"value", v, "default", defaultMaxActive)
|
||||
}
|
||||
return defaultMaxActive
|
||||
}
|
||||
|
||||
type milerCandidate struct {
|
||||
profile models.MilerProfile
|
||||
distanceKm float64
|
||||
|
||||
Reference in New Issue
Block a user