Browser automation platform with task queues
- Task queue
- Hangfire
- Live updates
- SignalR
- Services in Docker
- 6
Task
Build a service that runs browser scenarios at scale: many accounts, proxies, schedules, monitoring, and live logs for the operator.
Solution
Playwright workers driven by Hangfire queues on Redis, an OpenIddict identity server, SignalR for live task status, and an Angular control panel.
Architecture
An operator creates a task — which accounts, which scenario, which pace — and the platform splits it into background jobs. Each job opens a real browser through Playwright, signs in with the account's chosen method, performs the scenario, and writes a log entry. Jobs are queued in Hangfire on Redis, so they survive restarts, retry after failures, and can be paused.
Accounts, proxies (with type and status), and system settings are managed in the panel; pacing presets set the delay range between actions. Every change to a task or account is pushed to the panel over SignalR, so the operator watches progress and logs live without refreshing.
Identity is a separate service: ASP.NET Identity users behind an OpenIddict authorization server, with the API validating its tokens. The whole system — API, identity server, headless browser, Redis, PostgreSQL, and the client — runs in Docker Compose.
