Upload worker.py
Browse files
worker.py
CHANGED
|
@@ -54,6 +54,7 @@ SENT_LEADS_SET = "leads:sent_today"
|
|
| 54 |
WORKER_TASKS = int(os.getenv("WORKER_THREADS", "5"))
|
| 55 |
BATCH_SIZE = 10 # leads per account session
|
| 56 |
DEFAULT_COOLDOWN_SECONDS = int(os.getenv("DEFAULT_COOLDOWN_SECONDS", "1500")) # 25 minutes between batches
|
|
|
|
| 57 |
ADMIN_SETTINGS_FILE = os.getenv(
|
| 58 |
"ADMIN_SETTINGS_FILE",
|
| 59 |
r"C:\Users\PRADIP MUDI\Downloads\Telegram Desktop\lead_processor\admin_state.json"
|
|
@@ -563,15 +564,16 @@ async def main():
|
|
| 563 |
logger.info(f"Starting Async Playwright Worker [{MACHINE_ID}]. Tasks: {WORKER_TASKS}")
|
| 564 |
logger.info("=" * 50)
|
| 565 |
|
| 566 |
-
# Set SENT_LEADS_SET to expire at end of day so it auto-resets
|
| 567 |
-
# (The account_manager midnight reset also handles this via leads_sent_today)
|
| 568 |
client = redis.Redis(connection_pool=get_redis_pool())
|
| 569 |
-
|
| 570 |
-
|
| 571 |
-
|
| 572 |
-
|
| 573 |
-
|
| 574 |
-
|
|
|
|
|
|
|
|
|
|
| 575 |
|
| 576 |
for i in range(WORKER_TASKS):
|
| 577 |
t = WorkerTask(f"worker-{uuid.uuid4().hex[:6]}")
|
|
|
|
| 54 |
WORKER_TASKS = int(os.getenv("WORKER_THREADS", "5"))
|
| 55 |
BATCH_SIZE = 10 # leads per account session
|
| 56 |
DEFAULT_COOLDOWN_SECONDS = int(os.getenv("DEFAULT_COOLDOWN_SECONDS", "1500")) # 25 minutes between batches
|
| 57 |
+
RESET_SENT_DEDUP_DAILY = os.getenv("RESET_SENT_DEDUP_DAILY", "0").lower() in {"1", "true", "yes", "on"}
|
| 58 |
ADMIN_SETTINGS_FILE = os.getenv(
|
| 59 |
"ADMIN_SETTINGS_FILE",
|
| 60 |
r"C:\Users\PRADIP MUDI\Downloads\Telegram Desktop\lead_processor\admin_state.json"
|
|
|
|
| 564 |
logger.info(f"Starting Async Playwright Worker [{MACHINE_ID}]. Tasks: {WORKER_TASKS}")
|
| 565 |
logger.info("=" * 50)
|
| 566 |
|
|
|
|
|
|
|
| 567 |
client = redis.Redis(connection_pool=get_redis_pool())
|
| 568 |
+
if RESET_SENT_DEDUP_DAILY:
|
| 569 |
+
import datetime
|
| 570 |
+
now = datetime.datetime.now(datetime.timezone.utc)
|
| 571 |
+
tomorrow = now.replace(hour=0, minute=0, second=0, microsecond=0) + datetime.timedelta(days=1)
|
| 572 |
+
ttl = int((tomorrow - now).total_seconds())
|
| 573 |
+
await client.expire(SENT_LEADS_SET, ttl)
|
| 574 |
+
logger.info(f"SENT_LEADS_SET TTL set to {ttl}s (expires at UTC midnight).")
|
| 575 |
+
else:
|
| 576 |
+
logger.info("SENT_LEADS_SET daily auto-reset disabled. Worker state stays stable across resets.")
|
| 577 |
|
| 578 |
for i in range(WORKER_TASKS):
|
| 579 |
t = WorkerTask(f"worker-{uuid.uuid4().hex[:6]}")
|