Change options of the `rq empty` command.

* Does not ask confirmation
* Does not need `--yes` option anymore
* Added --all, to clear all queues
* No implicit emptying of the failed queue.  If you want to empty the
  failed queue, just use `$ rq empty failed`
main
Vincent Driessen 10 years ago
parent 8f1e066f15
commit 07dda74710

@ -27,33 +27,23 @@ def main(ctx, url):
@main.command()
@click.option('--yes', '-y', is_flag=True, help='Empty failed queue by default')
@click.option('--all', '-a', is_flag=True, help='Empty all queues')
@click.argument('queues', nargs=-1)
@click.pass_context
def empty(ctx, yes, queues):
"""[QUEUES]: queues to empty
\b
$ rq empty
Do you want to empty failed queue? [y/N]: y
2 jobs removed from failed queue
\b
$ rq empty -y
2 jobs removed from failed queue
\b
$ rq empty default high
10 jobs removed from default queue
2 jobs removed from high queue
"""
def empty(ctx, all, queues):
"""Empty given queues."""
conn = ctx.obj['connection']
queues = [Queue(queue, connection=conn) for queue in queues]
if all:
queues = Queue.all(connection=conn)
else:
queues = [Queue(queue, connection=conn) for queue in queues]
if not queues:
if yes or click.confirm('Do you want to empty failed queue?', abort=True):
queues = (get_failed_queue(connection=conn),)
click.echo('Nothing to do')
for queue in queues:
num_jobs = queue.empty()
click.echo('{0} jobs removed from {1} queue'.format(
num_jobs, queue.name))
click.echo('{0} jobs removed from {1} queue'.format(num_jobs, queue.name))
@main.command()

Loading…
Cancel
Save