MCPcopy
hub / github.com/GetBindu/Bindu / SchedulerSettings

Class SchedulerSettings

bindu/settings.py:846–883  ·  view source on GitHub ↗

Scheduler backend configuration settings. Supports multiple scheduler backends: - memory: In-memory scheduler (default, single-process) - redis: Redis scheduler (distributed, multi-process) Redis settings must be provided via environment variables or config.

Source from the content-addressed store, hash-verified

844
845
846class SchedulerSettings(BaseSettings):
847 """Scheduler backend configuration settings.
848
849 Supports multiple scheduler backends:
850 - memory: In-memory scheduler (default, single-process)
851 - redis: Redis scheduler (distributed, multi-process)
852
853 Redis settings must be provided via environment variables or config.
854 """
855
856 model_config = SettingsConfigDict(
857 env_file=".env",
858 extra="allow",
859 )
860
861 # Scheduler backend selection
862 backend: Literal["memory", "redis"] = Field(
863 default="memory",
864 validation_alias=AliasChoices("backend", "SCHEDULER_TYPE"),
865 )
866
867 # Redis Configuration - must be provided via env vars or config
868 redis_url: str | None = Field(
869 default=None,
870 validation_alias=AliasChoices("redis_url", "REDIS_URL"),
871 )
872 redis_host: str | None = None
873 redis_port: int | None = None
874 redis_password: str | None = None
875 redis_db: int | None = None
876 queue_name: str = "bindu:tasks" # Can keep default queue name
877 max_connections: int = 10 # Connection pool setting
878 retry_on_timeout: bool = True # Retry behavior setting
879 poll_timeout: int = Field(
880 default=1,
881 validation_alias=AliasChoices("poll_timeout", "REDIS_POLL_TIMEOUT"),
882 description="Timeout in seconds for Redis blpop operations. Higher values reduce API calls but increase task start latency.",
883 )
884
885
886class RetrySettings(BaseSettings):

Callers 1

SettingsClass · 0.85

Calls 1

FieldFunction · 0.50

Tested by

no test coverage detected