feat: add ARQ worker settings and cron schedules
This commit is contained in:
parent
4ea2a2aba8
commit
1f75867e7a
45
src/proxy_pool/worker/settings.py
Normal file
45
src/proxy_pool/worker/settings.py
Normal file
@ -0,0 +1,45 @@
|
||||
from arq import cron
|
||||
from arq.connections import RedisSettings
|
||||
|
||||
from proxy_pool.config import get_settings
|
||||
from proxy_pool.worker.context import shutdown, startup
|
||||
from proxy_pool.worker.tasks_cleanup import (
|
||||
expire_leases,
|
||||
prune_dead_proxies,
|
||||
prune_old_checks,
|
||||
)
|
||||
from proxy_pool.worker.tasks_scrape import scrape_all, scrape_source
|
||||
from proxy_pool.worker.tasks_validate import (
|
||||
revalidate_sweep,
|
||||
validate_proxy,
|
||||
)
|
||||
|
||||
settings = get_settings()
|
||||
|
||||
|
||||
class WorkerSettings:
|
||||
functions = [
|
||||
scrape_source,
|
||||
scrape_all,
|
||||
validate_proxy,
|
||||
revalidate_sweep,
|
||||
prune_dead_proxies,
|
||||
prune_old_checks,
|
||||
expire_leases,
|
||||
]
|
||||
|
||||
cron_jobs = [
|
||||
cron(scrape_all, minute={0, 30}),
|
||||
cron(revalidate_sweep, minute={10, 25, 40, 55}),
|
||||
cron(prune_dead_proxies, hour={3}, minute={0}),
|
||||
cron(prune_old_checks, hour={4}, minute={0}),
|
||||
cron(expire_leases, minute=set(range(60))),
|
||||
]
|
||||
|
||||
on_startup = startup
|
||||
on_shutdown = shutdown
|
||||
|
||||
redis_settings = RedisSettings.from_dsn(settings.redis.url)
|
||||
max_jobs = 50
|
||||
job_timeout = 300
|
||||
keep_result = 3600
|
||||
Loading…
x
Reference in New Issue
Block a user