mirror of
https://github.com/hibiken/asynq.git
synced 2025-08-19 15:08:55 +08:00
Update README
This commit is contained in:
@@ -1,20 +1,11 @@
|
||||
# Asynq CLI
|
||||
|
||||
Asynq CLI is a command line tool to monitor the tasks managed by `asynq` package.
|
||||
Asynq CLI is a command line tool to monitor the queues and tasks managed by `asynq` package.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Quick Start](#quick-start)
|
||||
- [Stats](#stats)
|
||||
- [History](#history)
|
||||
- [Servers](#servers)
|
||||
- [List](#list)
|
||||
- [Enqueue](#enqueue)
|
||||
- [Delete](#delete)
|
||||
- [Kill](#kill)
|
||||
- [Cancel](#cancel)
|
||||
- [Pause](#pause)
|
||||
- [Usage](#usage)
|
||||
- [Config File](#config-file)
|
||||
|
||||
## Installation
|
||||
@@ -25,144 +16,41 @@ In order to use the tool, compile it using the following command:
|
||||
|
||||
This will create the asynq executable under your `$GOPATH/bin` directory.
|
||||
|
||||
## Quickstart
|
||||
## Usage
|
||||
|
||||
The tool has a few commands to inspect the state of tasks and queues.
|
||||
### Commands
|
||||
|
||||
Run `asynq help` to see all the available commands.
|
||||
To view details on any command, use `asynq help <command> <subcommand>`.
|
||||
|
||||
- `asynq stats`
|
||||
- `asynq queue [ls inspect history rm pause unpause]`
|
||||
- `asynq task [ls cancel delete kill run delete-all kill-all run-all]`
|
||||
- `asynq server [ls]`
|
||||
|
||||
### Global flags
|
||||
|
||||
Asynq CLI needs to connect to a redis-server to inspect the state of queues and tasks. Use flags to specify the options to connect to the redis-server used by your application.
|
||||
To connect to a redis cluster, pass `--cluster` and `--cluster_addrs` flags.
|
||||
|
||||
By default, CLI will try to connect to a redis server running at `localhost:6379`.
|
||||
|
||||
### Stats
|
||||
```
|
||||
--config string config file to set flag defaut values (default is $HOME/.asynq.yaml)
|
||||
-n, --db int redis database number (default is 0)
|
||||
-h, --help help for asynq
|
||||
-p, --password string password to use when connecting to redis server
|
||||
-u, --uri string redis server URI (default "127.0.0.1:6379")
|
||||
|
||||
Stats command gives the overview of the current state of tasks and queues. You can run it in conjunction with `watch` command to repeatedly run `stats`.
|
||||
|
||||
Example:
|
||||
|
||||
watch -n 3 asynq stats
|
||||
|
||||
This will run `asynq stats` command every 3 seconds.
|
||||
|
||||

|
||||
|
||||
### History
|
||||
|
||||
History command shows the number of processed and failed tasks from the last x days.
|
||||
|
||||
By default, it shows the stats from the last 10 days. Use `--days` to specify the number of days.
|
||||
|
||||
Example:
|
||||
|
||||
asynq history --days=30
|
||||
|
||||

|
||||
|
||||
### Servers
|
||||
|
||||
Servers command shows the list of running worker servers pulling tasks from the given redis instance.
|
||||
|
||||
Example:
|
||||
|
||||
asynq servers
|
||||
|
||||
### List
|
||||
|
||||
List command shows all tasks in the specified state in a table format
|
||||
|
||||
Example:
|
||||
|
||||
asynq ls retry
|
||||
asynq ls scheduled
|
||||
asynq ls dead
|
||||
asynq ls enqueued:default
|
||||
asynq ls inprogress
|
||||
|
||||
### Enqueue
|
||||
|
||||
There are two commands to enqueue tasks.
|
||||
|
||||
Command `enq` takes a task ID and moves the task to **Enqueued** state. You can obtain the task ID by running `ls` command.
|
||||
|
||||
Example:
|
||||
|
||||
asynq enq d:1575732274:bnogo8gt6toe23vhef0g
|
||||
|
||||
Command `enqall` moves all tasks to **Enqueued** state from the specified state.
|
||||
|
||||
Example:
|
||||
|
||||
asynq enqall retry
|
||||
|
||||
Running the above command will move all **Retry** tasks to **Enqueued** state.
|
||||
|
||||
### Delete
|
||||
|
||||
There are two commands for task deletion.
|
||||
|
||||
Command `del` takes a task ID and deletes the task. You can obtain the task ID by running `ls` command.
|
||||
|
||||
Example:
|
||||
|
||||
asynq del r:1575732274:bnogo8gt6toe23vhef0g
|
||||
|
||||
Command `delall` deletes all tasks which are in the specified state.
|
||||
|
||||
Example:
|
||||
|
||||
asynq delall retry
|
||||
|
||||
Running the above command will delete all **Retry** tasks.
|
||||
|
||||
### Kill
|
||||
|
||||
There are two commands to kill (i.e. move to dead state) tasks.
|
||||
|
||||
Command `kill` takes a task ID and kills the task. You can obtain the task ID by running `ls` command.
|
||||
|
||||
Example:
|
||||
|
||||
asynq kill r:1575732274:bnogo8gt6toe23vhef0g
|
||||
|
||||
Command `killall` kills all tasks which are in the specified state.
|
||||
|
||||
Example:
|
||||
|
||||
asynq killall retry
|
||||
|
||||
Running the above command will move all **Retry** tasks to **Dead** state.
|
||||
|
||||
### Cancel
|
||||
|
||||
Command `cancel` takes a task ID and sends a cancelation signal to the goroutine processing the specified task.
|
||||
You can obtain the task ID by running `ls` command.
|
||||
|
||||
The task should be in "in-progress" state.
|
||||
Handler implementation needs to be context aware in order to actually stop processing.
|
||||
|
||||
Example:
|
||||
|
||||
asynq cancel bnogo8gt6toe23vhef0g
|
||||
|
||||
### Pause
|
||||
|
||||
Command `pause` pauses the spcified queue. Tasks in paused queues are not processed by servers.
|
||||
To resume processing from the queue, use `unpause` command.
|
||||
To see which queues are currently paused, use `stats` command.
|
||||
|
||||
Example:
|
||||
|
||||
asynq pause email
|
||||
asynq unpause email
|
||||
--cluster connect to redis cluster
|
||||
--cluster_addrs string list of comma-separated redis server addresses
|
||||
```
|
||||
|
||||
## Config File
|
||||
|
||||
You can use a config file to set default values for the flags.
|
||||
This is useful, for example when you have to connect to a remote redis server.
|
||||
|
||||
By default, `asynq` will try to read config file located in
|
||||
`$HOME/.asynq.(yaml|json)`. You can specify the file location via `--config` flag.
|
||||
`$HOME/.asynq.(yml|json)`. You can specify the file location via `--config` flag.
|
||||
|
||||
Config file example:
|
||||
|
||||
|
Reference in New Issue
Block a user