
In Progress
Posted
Paid on delivery
I have a Selenium-driven automation suite that spins up a fresh browser for every task. It works, but the constant process churn eats RAM and CPU, so I’d like to refactor it to keep sessions alive and recycle existing drivers wherever possible. The core objective is to minimise resource usage without sacrificing reliability. Besides tighter session management, I also need a structured retry mechanism. Certain pages occasionally fail to load or elements appear late, and when that happens I want the script to pause, back off with an exponential delay, then try again—ultimately guaranteeing data consistency across runs. You’ll receive the current Python 3.10 codebase (Selenium 4, ChromeDriver, Docker optional). I’m expecting: • An architecture that pools or persists browser instances safely across threads or sequential jobs • Configurable retry/backoff wrappers around key interactions, with sensible defaults and clear logging • Updated unit/integration tests proving that memory footprint drops and failed interactions are retried until they pass or the max threshold is reached • Short README notes explaining how to start the suite, tune pool size, and adjust retry parameters If you can deliver clean, well-documented code that lets me run the same workload with fewer processes and rock-solid consistency, let’s talk.
Project ID: 40667303
11 proposals
Remote project
Active 6 days ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

Hi, I have 7+ years of experience with Python, Selenium, browser automation, Docker, and performance optimization. I can refactor your current setup so browser sessions are reused instead of launching a fresh Chrome process for every task. I’ll add safe driver pooling/session management, configurable retry logic with exponential backoff, proper logging, and recovery for slow pages or delayed elements. I’ll also update the tests to verify retry behaviour and compare resource usage before and after the changes. The final code will stay clean and configurable, with README notes for pool size and retry settings. Let’s connect over the chat so that I can show you my previous work.
$60 USD in 1 day
0.0
0.0
11 freelancers are bidding on average $47 USD for this job

Hello! I’ve been recommended by a Freelancer Recruiter. Nice to meet you. I’ve just completed a similar Selenium session‑pooling and retry‑backoff refactor for another client who needed to cut RAM usage while keeping test stability. I’m the perfect fit because I specialize in Python‑based Selenium architectures that keep browsers alive across jobs and add robust exponential‑backoff logic, directly hitting your resource‑saving and reliability goals. My work with Selenium 4, ChromeDriver, Docker and thread‑safe pooling reduced memory consumption by 68% and eliminated flaky failures, achieving a 99.9% pass rate in CI. Multiple 5-star reviews on Selenium automation optimizations, Python test frameworks, Docker‑based CI pipelines. Happy to hop on a quick call (no obligation) to discuss architecture, timeline, and a clear plan + quote. Chris | Lead Developer | Novatech
$30 USD in 7 days
3.0
3.0

Hi, The part that decides whether this works is how a browser gets handed back to the pool. A reused browser carries over cookies, logins and leftover tabs from the last task, so unless it is cleaned properly between jobs you trade memory for flaky runs. I would build that reset step first and design the pool around it. What I would deliver in this first phase: - A pool that keeps a set number of browsers alive and hands them out safely, whether tasks run one after another or side by side - A clean reset between tasks, so one job never inherits state from the last - Dead or hung browsers detected and replaced instead of poisoning the pool - A retry wrapper on page loads and element lookups, with growing pauses between attempts and a cap you set - Logging that shows what was retried, how often, and what finally failed - README notes on starting the suite, tuning pool size and changing retry limits USD 210, delivered in 10 days. The before and after memory tests would follow as a second piece once the pool is running. One question: does your workload run tasks in parallel threads today, or strictly one at a time? That changes how the pool is built. Thanks, Bhagya
$210 USD in 10 days
2.4
2.4

I can refactor this Selenium suite so browser sessions are reused safely instead of creating a new Chrome process for every task. I have experience with Python automation, Selenium, browser workers, Docker, retries, logging, and performance optimization for long-running automation systems. My approach would be to introduce a controlled driver pool with health checks, session reset between jobs, and automatic replacement of unhealthy browsers. For retries, I’ll add configurable exponential backoff around navigation and element interactions, with clear logging and max-attempt limits. Stack: Python 3.10, Selenium 4, ChromeDriver, pytest, and Docker if you want reproducible testing. Plan: Day 1: profile current process/memory usage and design the pool Day 2: implement reusable sessions and safe cleanup Day 3: add retry/backoff helpers and structured logging Day 4: unit/integration tests and memory comparison Day 5: final cleanup, README, and tuning documentation The main goal will be lower RAM/CPU usage without letting stale browser state affect data consistency. i have some questions below, 1. Are tasks executed concurrently or mainly sequentially? 2. Do jobs need separate cookies/accounts, or can sessions share state? 3. Do you have a target pool size or current RAM usage benchmark? Regards, Ric
$20 USD in 7 days
0.0
0.0

Hi, I’ve reviewed the requirements and can refactor your existing Selenium/Python automation to reduce browser process churn while keeping the suite reliable and maintainable. My approach: • Browser/session pooling: Reuse persistent Selenium drivers instead of creating a new Chrome process for every task, with configurable pool sizing and safe cleanup. • Concurrency safety: Structure driver allocation/release so sessions can be reused safely across sequential jobs or controlled threads. • Retry system: Add reusable retry/backoff wrappers around navigation and element interactions, with exponential delays, configurable maximum attempts and clear logging. • Failure handling: Detect stale/broken drivers and recreate only the affected session instead of restarting the entire suite. • Testing: Add unit/integration tests covering retries, driver lifecycle, failures and recovery. • Performance validation: Compare the existing implementation against the refactored version under the same workload and document the resource-usage improvement. • Documentation: Provide a concise README covering setup, pool size, retry parameters and troubleshooting. I’ll work with your existing Python 3.10 + Selenium 4 codebase rather than unnecessarily rewriting the project, keeping the changes focused and easy to maintain. Please share the current code structure and workload pattern so I can identify the best pooling strategy before implementation.
$20 USD in 7 days
0.0
0.0

Hey — saw your post about optimizing Selenium reuse and retry. Spinning up a fresh browser each time definitely slows things down and can lead to resource issues. Quick question: Are you open to modifying your current framework to keep browser sessions alive between tasks, or do you need complete isolation per task? I’ve optimized similar automation suites by improving session reuse and built smarter retry logic to cut runtime and failures. Send over your current setup or a snippet, and I’ll take a look to suggest a solid path forward.
$20 USD in 7 days
0.0
0.0

Hello, I hope you're doing well. I've worked on several Selenium suites where the browser-per-task pattern became the bottleneck, and driver reuse made the biggest dent in resource usage. On a recent project, I refactored a suite that was spawning a ChromeDriver instance per job down to a small pool with thread-safe checkout and release semantics, which cut peak memory roughly by half. For your codebase, I'd start by profiling where the churn hurts most, then introduce a session pool with explicit lifecycle handling and lazy initialisation. On retries, I'd wrap the flaky interactions in a decorator that applies exponential backoff with jitter, configurable max attempts, and structured logging that records each failed attempt. I'd also add tests that assert pool reuse actually happens and that retries respect their thresholds. Before locking the design, it'd be good to align on how your threads or jobs are scheduled, and whether the pool should be shared across them or kept per process. Could we have a quick chat this week to walk through that detail? Thank you, Harrison
$10 USD in 4 days
0.0
0.0

Hello, I can refactor your Selenium 4 automation to reuse browser sessions safely, reduce Chrome process churn, and lower RAM/CPU usage without sacrificing stability. I’m experienced with Python 3.10, Selenium, Docker, concurrency, retry/backoff patterns, logging, and automated testing. I’ll add configurable driver pooling, exponential retries, consistency safeguards, benchmarks, tests, and concise README documentation. Estimated timeline: 3–5 days. Thanks.
$20 USD in 7 days
0.0
0.0

Dinajpur, Bangladesh
Member since Oct 20, 2024
$2-8 USD / hour
$10-30 CAD
$10-30 USD
$2-8 CAD / hour
$10-30 CAD
$30-250 USD
₹37500-75000 INR
€8-9 EUR / hour
$250-750 USD
₹601-602 INR
₹1500-12500 INR
$25-50 USD / hour
$30-250 CAD
$30-250 USD
₹1500-12500 INR
$30-250 CAD
₹600-1500 INR
$40-60 USD
$15-25 USD / hour
$750-1500 USD
₹37500-75000 INR
₹1500-12500 INR
€8-30 EUR
$750-1500 AUD
₹600-900 INR