worker.base

Module Contents

worker.base.logger[source]
worker.base.REQUEST_TIMEOUT = 5.0[source]
class worker.base.RateLimitAggregate(redis, queue, daily_rate_limit, hourly_rate_limit, minutely_rate_limit, secondly_rate_limit)[source]

Bases: polyswarmclient.ratelimit.abstractratelimit.AbstractRateLimit

daily :Optional[RedisRateLimit][source]
hourly :Optional[RedisRateLimit][source]
minutely :Optional[RedisRateLimit][source]
secondly :Optional[RedisRateLimit][source]
class worker.base.OptionalSemaphore(value=1, loop=None)[source]

Bases: asyncio.Semaphore

given_value :int[source]
release(self)[source]
class worker.base.Worker(redis_addr, queue, task_count=0, download_limit=0, scan_limit=0, api_key=None, testing=0, scanner=None, scan_time_requirement=0, daily_rate_limit=None, hourly_rate_limit=None, minutely_rate_limit=None, secondly_rate_limit=None, allow_key_over_http=False)[source]
run(self)[source]
start(self, loop: asyncio.AbstractEventLoop)[source]
setup_synchronization(self, loop: asyncio.AbstractEventLoop)[source]
setup_graceful_shutdown(self, loop: asyncio.AbstractEventLoop)[source]
handle_signal(self)[source]
get_remaining_time(self, job: JobRequest)[source]
rate_limit_respond(self, job: JobRequest)[source]
is_key_secure(self, job: JobRequest)[source]