|
- WORKERS_SUSPENDED = 'rq:suspended'
-
-
- def is_suspended(connection, worker=None):
- with connection.pipeline() as pipeline:
- if worker is not None:
- worker.heartbeat(pipeline=pipeline)
- pipeline.exists(WORKERS_SUSPENDED)
- # pipeline returns a list of responses
- # https://github.com/andymccurdy/redis-py#pipelines
- return pipeline.execute()[-1]
-
-
- def suspend(connection, ttl=None):
- """ttl = time to live in seconds. Default is no expiration
- Note: If you pass in 0 it will invalidate right away
- """
- connection.set(WORKERS_SUSPENDED, 1)
- if ttl is not None:
- connection.expire(WORKERS_SUSPENDED, ttl)
-
-
- def resume(connection):
- return connection.delete(WORKERS_SUSPENDED)
|