yt-dlp-dags/ytops_client-source/policies/queue_auth_simulation.yaml
2025-12-26 10:05:00 +03:00

63 lines
3.2 KiB
YAML

# Policy: Queue-based Authentication Simulation
#
# This policy simulates a continuous stream of authentication requests
# by pulling URLs from a Redis queue, processing them with yt-ops-server,
# and pushing results to appropriate result queues.
#
name: queue_auth_simulation
settings:
mode: fetch_only
orchestration_mode: queue_auth
profile_mode: from_pool_with_lock
# Directory to save info.json files (optional).
# For distributed operation across multiple machines, this MUST be a shared location
# like an S3 bucket path. The underlying code must be adapted to handle S3 paths.
save_info_json_dir: "run/docker_mount/fetched_info_jsons/" #"s3://your-shared-bucket/stress_test/info_jsons/"
dummy_simulation_settings:
# Simulate auth processing time between 5 and 10 seconds for each URL.
auth_min_seconds: 5
auth_max_seconds: 10
# You can also control simulated failure rates here.
auth_failure_rate: 0.0 # 0% failure rate
auth_skipped_failure_rate: 0.0 # 0% skipped rate
execution_control:
workers: 1
# How long a worker should pause if it cannot find an available profile or task.
worker_polling_interval_seconds: 1
# Run until conditions
run_until:
# Run for this many minutes (0 = unlimited)
minutes: 0
# Process this many requests (0 = unlimited)
requests: 0
info_json_generation_policy:
profile_prefix: "user1"
client: "ytdlp"
# Extra arguments to pass to the get-info command
extra_args: "--verbose"
queue_policy:
# Set to false to use legacy, unprefixed queue names (e.g., 'queue2_auth_inbox').
# Set to true (or omit) to use environment-prefixed names (e.g., 'sim_auth_queue2_auth_inbox').
use_env_prefix: false
# If specified, create download tasks for these formats
# Can be "all", a specific format ID, or a list of format IDs
formats_to_download: "140-dashy/140-dashy-0/140,299-dashy/298-dashy/137-dashy/136-dashy/135-dashy/134-dashy/133-dashy"
# How many tasks a worker should pull from the queue at once.
# The worker will lock one profile to process the entire batch.
batch_size: 25
simulation_parameters:
auth_env: "sim_auth"
download_env: "sim_download"