mirror of
https://github.com/hibiken/asynq.git
synced 2024-11-14 11:31:18 +08:00
Update all reference to asynqmon to Asynq CLI
This commit is contained in:
parent
aafd8a5b74
commit
cf61911a49
6
.gitignore
vendored
6
.gitignore
vendored
@ -15,7 +15,7 @@
|
|||||||
/examples
|
/examples
|
||||||
|
|
||||||
# Ignore command binary
|
# Ignore command binary
|
||||||
/tools/asynqmon/asynqmon
|
/tools/asynq/asynq
|
||||||
|
|
||||||
# Ignore asynqmon config file
|
# Ignore asynq config file
|
||||||
.asynqmon.*
|
.asynq.*
|
@ -213,7 +213,7 @@ Here's an example of running the `stats` command.
|
|||||||
|
|
||||||
![Gif](/docs/assets/demo.gif)
|
![Gif](/docs/assets/demo.gif)
|
||||||
|
|
||||||
For details on how to use the tool, refer to the tool's [README](/tools/asynqmon/README.md).
|
For details on how to use the tool, refer to the tool's [README](/tools/asynq/README.md).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ go get -u github.com/hibiken/asynq
|
|||||||
To install the CLI tool, run the following command:
|
To install the CLI tool, run the following command:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go get -u github.com/hibiken/asynq/tools/asynqmon
|
go get -u github.com/hibiken/asynq/tools/asynq
|
||||||
```
|
```
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
@ -245,7 +245,7 @@ Please see the [Contribution Guide](/CONTRIBUTING.md) before contributing.
|
|||||||
|
|
||||||
- [Sidekiq](https://github.com/mperham/sidekiq) : Many of the design ideas are taken from sidekiq and its Web UI
|
- [Sidekiq](https://github.com/mperham/sidekiq) : Many of the design ideas are taken from sidekiq and its Web UI
|
||||||
- [RQ](https://github.com/rq/rq) : Client APIs are inspired by rq library.
|
- [RQ](https://github.com/rq/rq) : Client APIs are inspired by rq library.
|
||||||
- [Cobra](https://github.com/spf13/cobra) : Asynqmon CLI is built with cobra
|
- [Cobra](https://github.com/spf13/cobra) : Asynq CLI is built with cobra
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 582 KiB After Width: | Height: | Size: 582 KiB |
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
@ -1,6 +1,6 @@
|
|||||||
# Asynqmon
|
# Asynq CLI
|
||||||
|
|
||||||
Asynqmon is a command line tool to monitor the tasks managed by `asynq` package.
|
Asynq CLI is a command line tool to monitor the tasks managed by `asynq` package.
|
||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
@ -20,19 +20,19 @@ Asynqmon is a command line tool to monitor the tasks managed by `asynq` package.
|
|||||||
|
|
||||||
In order to use the tool, compile it using the following command:
|
In order to use the tool, compile it using the following command:
|
||||||
|
|
||||||
go get github.com/hibiken/asynq/tools/asynqmon
|
go get github.com/hibiken/asynq/tools/asynq
|
||||||
|
|
||||||
This will create the asynqmon executable under your `$GOPATH/bin` directory.
|
This will create the asynq executable under your `$GOPATH/bin` directory.
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
The tool has a few commands to inspect the state of tasks and queues.
|
The tool has a few commands to inspect the state of tasks and queues.
|
||||||
|
|
||||||
Run `asynqmon help` to see all the available commands.
|
Run `asynq help` to see all the available commands.
|
||||||
|
|
||||||
Asynqmon 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.
|
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.
|
||||||
|
|
||||||
By default, Asynqmon will try to connect to a redis server running at `localhost:6379`.
|
By default, CLI will try to connect to a redis server running at `localhost:6379`.
|
||||||
|
|
||||||
### Stats
|
### Stats
|
||||||
|
|
||||||
@ -40,11 +40,11 @@ Stats command gives the overview of the current state of tasks and queues. You c
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
watch -n 3 asynqmon stats
|
watch -n 3 asynq stats
|
||||||
|
|
||||||
This will run `asynqmon stats` command every 3 seconds.
|
This will run `asynq stats` command every 3 seconds.
|
||||||
|
|
||||||
![Gif](/docs/assets/asynqmon_stats.gif)
|
![Gif](/docs/assets/asynq_stats.gif)
|
||||||
|
|
||||||
### History
|
### History
|
||||||
|
|
||||||
@ -54,9 +54,9 @@ By default, it shows the stats from the last 10 days. Use `--days` to specify th
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon history --days=30
|
asynq history --days=30
|
||||||
|
|
||||||
![Gif](/docs/assets/asynqmon_history.gif)
|
![Gif](/docs/assets/asynq_history.gif)
|
||||||
|
|
||||||
### Process Status
|
### Process Status
|
||||||
|
|
||||||
@ -64,9 +64,9 @@ PS (ProcessStatus) command shows the list of running worker processes.
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon ps
|
asynq ps
|
||||||
|
|
||||||
![Gif](/docs/assets/asynqmon_ps.gif)
|
![Gif](/docs/assets/asynq_ps.gif)
|
||||||
|
|
||||||
### List
|
### List
|
||||||
|
|
||||||
@ -74,11 +74,11 @@ List command shows all tasks in the specified state in a table format
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon ls retry
|
asynq ls retry
|
||||||
asynqmon ls scheduled
|
asynq ls scheduled
|
||||||
asynqmon ls dead
|
asynq ls dead
|
||||||
asynqmon ls enqueued:default
|
asynq ls enqueued:default
|
||||||
asynqmon ls inprogress
|
asynq ls inprogress
|
||||||
|
|
||||||
### Enqueue
|
### Enqueue
|
||||||
|
|
||||||
@ -88,13 +88,13 @@ Command `enq` takes a task ID and moves the task to **Enqueued** state. You can
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon enq d:1575732274:bnogo8gt6toe23vhef0g
|
asynq enq d:1575732274:bnogo8gt6toe23vhef0g
|
||||||
|
|
||||||
Command `enqall` moves all tasks to **Enqueued** state from the specified state.
|
Command `enqall` moves all tasks to **Enqueued** state from the specified state.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon enqall retry
|
asynq enqall retry
|
||||||
|
|
||||||
Running the above command will move all **Retry** tasks to **Enqueued** state.
|
Running the above command will move all **Retry** tasks to **Enqueued** state.
|
||||||
|
|
||||||
@ -106,13 +106,13 @@ Command `del` takes a task ID and deletes the task. You can obtain the task ID b
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon del r:1575732274:bnogo8gt6toe23vhef0g
|
asynq del r:1575732274:bnogo8gt6toe23vhef0g
|
||||||
|
|
||||||
Command `delall` deletes all tasks which are in the specified state.
|
Command `delall` deletes all tasks which are in the specified state.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon delall retry
|
asynq delall retry
|
||||||
|
|
||||||
Running the above command will delete all **Retry** tasks.
|
Running the above command will delete all **Retry** tasks.
|
||||||
|
|
||||||
@ -124,13 +124,13 @@ Command `kill` takes a task ID and kills the task. You can obtain the task ID by
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon kill r:1575732274:bnogo8gt6toe23vhef0g
|
asynq kill r:1575732274:bnogo8gt6toe23vhef0g
|
||||||
|
|
||||||
Command `killall` kills all tasks which are in the specified state.
|
Command `killall` kills all tasks which are in the specified state.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon killall retry
|
asynq killall retry
|
||||||
|
|
||||||
Running the above command will move all **Retry** tasks to **Dead** state.
|
Running the above command will move all **Retry** tasks to **Dead** state.
|
||||||
|
|
||||||
@ -144,15 +144,15 @@ Handler implementation needs to be context aware in order to actually stop proce
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
asynqmon cancel bnogo8gt6toe23vhef0g
|
asynq cancel bnogo8gt6toe23vhef0g
|
||||||
|
|
||||||
## Config File
|
## Config File
|
||||||
|
|
||||||
You can use a config file to set default values for the flags.
|
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.
|
This is useful, for example when you have to connect to a remote redis server.
|
||||||
|
|
||||||
By default, `asynqmon` will try to read config file located in
|
By default, `asynq` will try to read config file located in
|
||||||
`$HOME/.asynqmon.(yaml|json)`. You can specify the file location via `--config` flag.
|
`$HOME/.asynq.(yaml|json)`. You can specify the file location via `--config` flag.
|
||||||
|
|
||||||
Config file example:
|
Config file example:
|
||||||
|
|
||||||
|
@ -18,17 +18,17 @@ import (
|
|||||||
var cancelCmd = &cobra.Command{
|
var cancelCmd = &cobra.Command{
|
||||||
Use: "cancel [task id]",
|
Use: "cancel [task id]",
|
||||||
Short: "Sends a cancelation signal to the goroutine processing the specified task",
|
Short: "Sends a cancelation signal to the goroutine processing the specified task",
|
||||||
Long: `Cancel (asynqmon cancel) will send a cancelation signal to the goroutine processing
|
Long: `Cancel (asynq cancel) will send a cancelation signal to the goroutine processing
|
||||||
the specified task.
|
the specified task.
|
||||||
|
|
||||||
The command takes one argument which specifies the task to cancel.
|
The command takes one argument which specifies the task to cancel.
|
||||||
The task should be in in-progress state.
|
The task should be in in-progress state.
|
||||||
Identifier for a task should be obtained by running "asynqmon ls" command.
|
Identifier for a task should be obtained by running "asynq ls" command.
|
||||||
|
|
||||||
Handler implementation needs to be context aware for cancelation signal to
|
Handler implementation needs to be context aware for cancelation signal to
|
||||||
actually cancel the processing.
|
actually cancel the processing.
|
||||||
|
|
||||||
Example: asynqmon cancel bnogo8gt6toe23vhef0g`,
|
Example: asynq cancel bnogo8gt6toe23vhef0g`,
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
Run: cancel,
|
Run: cancel,
|
||||||
}
|
}
|
||||||
|
@ -18,13 +18,13 @@ import (
|
|||||||
var delCmd = &cobra.Command{
|
var delCmd = &cobra.Command{
|
||||||
Use: "del [task id]",
|
Use: "del [task id]",
|
||||||
Short: "Deletes a task given an identifier",
|
Short: "Deletes a task given an identifier",
|
||||||
Long: `Del (asynqmon del) will delete a task given an identifier.
|
Long: `Del (asynq del) will delete a task given an identifier.
|
||||||
|
|
||||||
The command takes one argument which specifies the task to delete.
|
The command takes one argument which specifies the task to delete.
|
||||||
The task should be in either scheduled, retry or dead state.
|
The task should be in either scheduled, retry or dead state.
|
||||||
Identifier for a task should be obtained by running "asynqmon ls" command.
|
Identifier for a task should be obtained by running "asynq ls" command.
|
||||||
|
|
||||||
Example: asynqmon enq d:1575732274:bnogo8gt6toe23vhef0g`,
|
Example: asynq enq d:1575732274:bnogo8gt6toe23vhef0g`,
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
Run: del,
|
Run: del,
|
||||||
}
|
}
|
||||||
|
@ -20,11 +20,11 @@ var delallValidArgs = []string{"scheduled", "retry", "dead"}
|
|||||||
var delallCmd = &cobra.Command{
|
var delallCmd = &cobra.Command{
|
||||||
Use: "delall [state]",
|
Use: "delall [state]",
|
||||||
Short: "Deletes all tasks in the specified state",
|
Short: "Deletes all tasks in the specified state",
|
||||||
Long: `Delall (asynqmon delall) will delete all tasks in the specified state.
|
Long: `Delall (asynq delall) will delete all tasks in the specified state.
|
||||||
|
|
||||||
The argument should be one of "scheduled", "retry", or "dead".
|
The argument should be one of "scheduled", "retry", or "dead".
|
||||||
|
|
||||||
Example: asynqmon delall dead -> Deletes all dead tasks`,
|
Example: asynq delall dead -> Deletes all dead tasks`,
|
||||||
ValidArgs: delallValidArgs,
|
ValidArgs: delallValidArgs,
|
||||||
Args: cobra.ExactValidArgs(1),
|
Args: cobra.ExactValidArgs(1),
|
||||||
Run: delall,
|
Run: delall,
|
||||||
@ -60,7 +60,7 @@ func delall(cmd *cobra.Command, args []string) {
|
|||||||
case "dead":
|
case "dead":
|
||||||
err = r.DeleteAllDeadTasks()
|
err = r.DeleteAllDeadTasks()
|
||||||
default:
|
default:
|
||||||
fmt.Printf("error: `asynqmon delall [state]` only accepts %v as the argument.\n", delallValidArgs)
|
fmt.Printf("error: `asynq delall [state]` only accepts %v as the argument.\n", delallValidArgs)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -18,16 +18,16 @@ import (
|
|||||||
var enqCmd = &cobra.Command{
|
var enqCmd = &cobra.Command{
|
||||||
Use: "enq [task id]",
|
Use: "enq [task id]",
|
||||||
Short: "Enqueues a task given an identifier",
|
Short: "Enqueues a task given an identifier",
|
||||||
Long: `Enq (asynqmon enq) will enqueue a task given an identifier.
|
Long: `Enq (asynq enq) will enqueue a task given an identifier.
|
||||||
|
|
||||||
The command takes one argument which specifies the task to enqueue.
|
The command takes one argument which specifies the task to enqueue.
|
||||||
The task should be in either scheduled, retry or dead state.
|
The task should be in either scheduled, retry or dead state.
|
||||||
Identifier for a task should be obtained by running "asynqmon ls" command.
|
Identifier for a task should be obtained by running "asynq ls" command.
|
||||||
|
|
||||||
The task enqueued by this command will be processed as soon as the task
|
The task enqueued by this command will be processed as soon as the task
|
||||||
gets dequeued by a processor.
|
gets dequeued by a processor.
|
||||||
|
|
||||||
Example: asynqmon enq d:1575732274:bnogo8gt6toe23vhef0g`,
|
Example: asynq enq d:1575732274:bnogo8gt6toe23vhef0g`,
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
Run: enq,
|
Run: enq,
|
||||||
}
|
}
|
||||||
|
@ -20,14 +20,14 @@ var enqallValidArgs = []string{"scheduled", "retry", "dead"}
|
|||||||
var enqallCmd = &cobra.Command{
|
var enqallCmd = &cobra.Command{
|
||||||
Use: "enqall [state]",
|
Use: "enqall [state]",
|
||||||
Short: "Enqueues all tasks in the specified state",
|
Short: "Enqueues all tasks in the specified state",
|
||||||
Long: `Enqall (asynqmon enqall) will enqueue all tasks in the specified state.
|
Long: `Enqall (asynq enqall) will enqueue all tasks in the specified state.
|
||||||
|
|
||||||
The argument should be one of "scheduled", "retry", or "dead".
|
The argument should be one of "scheduled", "retry", or "dead".
|
||||||
|
|
||||||
The tasks enqueued by this command will be processed as soon as it
|
The tasks enqueued by this command will be processed as soon as it
|
||||||
gets dequeued by a processor.
|
gets dequeued by a processor.
|
||||||
|
|
||||||
Example: asynqmon enqall dead -> Enqueues all dead tasks`,
|
Example: asynq enqall dead -> Enqueues all dead tasks`,
|
||||||
ValidArgs: enqallValidArgs,
|
ValidArgs: enqallValidArgs,
|
||||||
Args: cobra.ExactValidArgs(1),
|
Args: cobra.ExactValidArgs(1),
|
||||||
Run: enqall,
|
Run: enqall,
|
||||||
@ -64,7 +64,7 @@ func enqall(cmd *cobra.Command, args []string) {
|
|||||||
case "dead":
|
case "dead":
|
||||||
n, err = r.EnqueueAllDeadTasks()
|
n, err = r.EnqueueAllDeadTasks()
|
||||||
default:
|
default:
|
||||||
fmt.Printf("error: `asynqmon enqall [state]` only accepts %v as the argument.\n", enqallValidArgs)
|
fmt.Printf("error: `asynq enqall [state]` only accepts %v as the argument.\n", enqallValidArgs)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -22,12 +22,12 @@ var days int
|
|||||||
var historyCmd = &cobra.Command{
|
var historyCmd = &cobra.Command{
|
||||||
Use: "history",
|
Use: "history",
|
||||||
Short: "Shows historical aggregate data",
|
Short: "Shows historical aggregate data",
|
||||||
Long: `History (asynqmon history) will show the number of processed and failed tasks
|
Long: `History (asynq history) will show the number of processed and failed tasks
|
||||||
from the last x days.
|
from the last x days.
|
||||||
|
|
||||||
By default, it will show the data from the last 10 days.
|
By default, it will show the data from the last 10 days.
|
||||||
|
|
||||||
Example: asynqmon history -x=30 -> Shows stats from the last 30 days`,
|
Example: asynq history -x=30 -> Shows stats from the last 30 days`,
|
||||||
Args: cobra.NoArgs,
|
Args: cobra.NoArgs,
|
||||||
Run: history,
|
Run: history,
|
||||||
}
|
}
|
||||||
|
@ -18,13 +18,13 @@ import (
|
|||||||
var killCmd = &cobra.Command{
|
var killCmd = &cobra.Command{
|
||||||
Use: "kill [task id]",
|
Use: "kill [task id]",
|
||||||
Short: "Kills a task given an identifier",
|
Short: "Kills a task given an identifier",
|
||||||
Long: `Kill (asynqmon kill) will put a task in dead state given an identifier.
|
Long: `Kill (asynq kill) will put a task in dead state given an identifier.
|
||||||
|
|
||||||
The command takes one argument which specifies the task to kill.
|
The command takes one argument which specifies the task to kill.
|
||||||
The task should be in either scheduled or retry state.
|
The task should be in either scheduled or retry state.
|
||||||
Identifier for a task should be obtained by running "asynqmon ls" command.
|
Identifier for a task should be obtained by running "asynq ls" command.
|
||||||
|
|
||||||
Example: asynqmon kill r:1575732274:bnogo8gt6toe23vhef0g`,
|
Example: asynq kill r:1575732274:bnogo8gt6toe23vhef0g`,
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
Run: kill,
|
Run: kill,
|
||||||
}
|
}
|
||||||
|
@ -20,11 +20,11 @@ var killallValidArgs = []string{"scheduled", "retry"}
|
|||||||
var killallCmd = &cobra.Command{
|
var killallCmd = &cobra.Command{
|
||||||
Use: "killall [state]",
|
Use: "killall [state]",
|
||||||
Short: "Kills all tasks in the specified state",
|
Short: "Kills all tasks in the specified state",
|
||||||
Long: `Killall (asynqmon killall) will update all tasks from the specified state to dead state.
|
Long: `Killall (asynq killall) will update all tasks from the specified state to dead state.
|
||||||
|
|
||||||
The argument should be either "scheduled" or "retry".
|
The argument should be either "scheduled" or "retry".
|
||||||
|
|
||||||
Example: asynqmon killall retry -> Update all retry tasks to dead tasks`,
|
Example: asynq killall retry -> Update all retry tasks to dead tasks`,
|
||||||
ValidArgs: killallValidArgs,
|
ValidArgs: killallValidArgs,
|
||||||
Args: cobra.ExactValidArgs(1),
|
Args: cobra.ExactValidArgs(1),
|
||||||
Run: killall,
|
Run: killall,
|
||||||
@ -59,7 +59,7 @@ func killall(cmd *cobra.Command, args []string) {
|
|||||||
case "retry":
|
case "retry":
|
||||||
n, err = r.KillAllRetryTasks()
|
n, err = r.KillAllRetryTasks()
|
||||||
default:
|
default:
|
||||||
fmt.Printf("error: `asynqmon killall [state]` only accepts %v as the argument.\n", killallValidArgs)
|
fmt.Printf("error: `asynq killall [state]` only accepts %v as the argument.\n", killallValidArgs)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -25,19 +25,19 @@ var lsValidArgs = []string{"enqueued", "inprogress", "scheduled", "retry", "dead
|
|||||||
var lsCmd = &cobra.Command{
|
var lsCmd = &cobra.Command{
|
||||||
Use: "ls [state]",
|
Use: "ls [state]",
|
||||||
Short: "Lists tasks in the specified state",
|
Short: "Lists tasks in the specified state",
|
||||||
Long: `Ls (asynqmon ls) will list all tasks in the specified state in a table format.
|
Long: `Ls (asynq ls) will list all tasks in the specified state in a table format.
|
||||||
|
|
||||||
The command takes one argument which specifies the state of tasks.
|
The command takes one argument which specifies the state of tasks.
|
||||||
The argument value should be one of "enqueued", "inprogress", "scheduled",
|
The argument value should be one of "enqueued", "inprogress", "scheduled",
|
||||||
"retry", or "dead".
|
"retry", or "dead".
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
asynqmon ls dead -> Lists all tasks in dead state
|
asynq ls dead -> Lists all tasks in dead state
|
||||||
|
|
||||||
Enqueued tasks requires a queue name after ":"
|
Enqueued tasks requires a queue name after ":"
|
||||||
Example:
|
Example:
|
||||||
asynqmon ls enqueued:default -> List tasks from default queue
|
asynq ls enqueued:default -> List tasks from default queue
|
||||||
asynqmon ls enqueued:critical -> List tasks from critical queue
|
asynq ls enqueued:critical -> List tasks from critical queue
|
||||||
`,
|
`,
|
||||||
Args: cobra.ExactValidArgs(1),
|
Args: cobra.ExactValidArgs(1),
|
||||||
Run: ls,
|
Run: ls,
|
||||||
@ -72,7 +72,7 @@ func ls(cmd *cobra.Command, args []string) {
|
|||||||
switch parts[0] {
|
switch parts[0] {
|
||||||
case "enqueued":
|
case "enqueued":
|
||||||
if len(parts) != 2 {
|
if len(parts) != 2 {
|
||||||
fmt.Printf("error: Missing queue name\n`asynqmon ls enqueued:[queue name]`\n")
|
fmt.Printf("error: Missing queue name\n`asynq ls enqueued:[queue name]`\n")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
listEnqueued(r, parts[1])
|
listEnqueued(r, parts[1])
|
||||||
@ -85,7 +85,7 @@ func ls(cmd *cobra.Command, args []string) {
|
|||||||
case "dead":
|
case "dead":
|
||||||
listDead(r)
|
listDead(r)
|
||||||
default:
|
default:
|
||||||
fmt.Printf("error: `asynqmon ls [state]`\nonly accepts %v as the argument.\n", lsValidArgs)
|
fmt.Printf("error: `asynq ls [state]`\nonly accepts %v as the argument.\n", lsValidArgs)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
var psCmd = &cobra.Command{
|
var psCmd = &cobra.Command{
|
||||||
Use: "ps",
|
Use: "ps",
|
||||||
Short: "Shows all background worker processes",
|
Short: "Shows all background worker processes",
|
||||||
Long: `Ps (asynqmon ps) will show all background worker processes
|
Long: `Ps (asynq ps) will show all background worker processes
|
||||||
backed by the specified redis instance.
|
backed by the specified redis instance.
|
||||||
|
|
||||||
The command shows the following for each process:
|
The command shows the following for each process:
|
||||||
|
@ -18,11 +18,11 @@ import (
|
|||||||
var rmqCmd = &cobra.Command{
|
var rmqCmd = &cobra.Command{
|
||||||
Use: "rmq [queue name]",
|
Use: "rmq [queue name]",
|
||||||
Short: "Removes the specified queue",
|
Short: "Removes the specified queue",
|
||||||
Long: `Rmq (asynqmon rmq) will remove the specified queue.
|
Long: `Rmq (asynq rmq) will remove the specified queue.
|
||||||
By default, it will remove the queue only if it's empty.
|
By default, it will remove the queue only if it's empty.
|
||||||
Use --force option to override this behavior.
|
Use --force option to override this behavior.
|
||||||
|
|
||||||
Example: asynqmon rmq low -> Removes "low" queue`,
|
Example: asynq rmq low -> Removes "low" queue`,
|
||||||
Args: cobra.ExactValidArgs(1),
|
Args: cobra.ExactValidArgs(1),
|
||||||
Run: rmq,
|
Run: rmq,
|
||||||
}
|
}
|
||||||
@ -44,7 +44,7 @@ func rmq(cmd *cobra.Command, args []string) {
|
|||||||
err := r.RemoveQueue(args[0], rmqForce)
|
err := r.RemoveQueue(args[0], rmqForce)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if _, ok := err.(*rdb.ErrQueueNotEmpty); ok {
|
if _, ok := err.(*rdb.ErrQueueNotEmpty); ok {
|
||||||
fmt.Printf("error: %v\nIf you are sure you want to delete it, run 'asynqmon rmq --force %s'\n", err, args[0])
|
fmt.Printf("error: %v\nIf you are sure you want to delete it, run 'asynq rmq --force %s'\n", err, args[0])
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
fmt.Printf("error: %v", err)
|
fmt.Printf("error: %v", err)
|
||||||
|
@ -26,9 +26,9 @@ var password string
|
|||||||
|
|
||||||
// rootCmd represents the base command when called without any subcommands
|
// rootCmd represents the base command when called without any subcommands
|
||||||
var rootCmd = &cobra.Command{
|
var rootCmd = &cobra.Command{
|
||||||
Use: "asynqmon",
|
Use: "asynq",
|
||||||
Short: "A monitoring tool for asynq queues",
|
Short: "A monitoring tool for asynq queues",
|
||||||
Long: `Asynqmon is a montoring CLI to inspect tasks and queues managed by asynq.`,
|
Long: `Asynq is a montoring CLI to inspect tasks and queues managed by asynq.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Execute adds all child commands to the root command and sets flags appropriately.
|
// Execute adds all child commands to the root command and sets flags appropriately.
|
||||||
@ -43,7 +43,7 @@ func Execute() {
|
|||||||
func init() {
|
func init() {
|
||||||
cobra.OnInitialize(initConfig)
|
cobra.OnInitialize(initConfig)
|
||||||
|
|
||||||
rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file to set flag defaut values (default is $HOME/.asynqmon.yaml)")
|
rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file to set flag defaut values (default is $HOME/.asynq.yaml)")
|
||||||
rootCmd.PersistentFlags().StringVarP(&uri, "uri", "u", "127.0.0.1:6379", "redis server URI")
|
rootCmd.PersistentFlags().StringVarP(&uri, "uri", "u", "127.0.0.1:6379", "redis server URI")
|
||||||
rootCmd.PersistentFlags().IntVarP(&db, "db", "n", 0, "redis database number (default is 0)")
|
rootCmd.PersistentFlags().IntVarP(&db, "db", "n", 0, "redis database number (default is 0)")
|
||||||
rootCmd.PersistentFlags().StringVarP(&password, "password", "p", "", "password to use when connecting to redis server")
|
rootCmd.PersistentFlags().StringVarP(&password, "password", "p", "", "password to use when connecting to redis server")
|
||||||
@ -65,9 +65,9 @@ func initConfig() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search config in home directory with name ".asynqmon" (without extension).
|
// Search config in home directory with name ".asynq" (without extension).
|
||||||
viper.AddConfigPath(home)
|
viper.AddConfigPath(home)
|
||||||
viper.SetConfigName(".asynqmon")
|
viper.SetConfigName(".asynq")
|
||||||
}
|
}
|
||||||
|
|
||||||
viper.AutomaticEnv() // read in environment variables that match
|
viper.AutomaticEnv() // read in environment variables that match
|
||||||
|
@ -33,7 +33,7 @@ Specifically, the command shows the following:
|
|||||||
To monitor the tasks continuously, it's recommended that you run this
|
To monitor the tasks continuously, it's recommended that you run this
|
||||||
command in conjunction with the watch command.
|
command in conjunction with the watch command.
|
||||||
|
|
||||||
Example: watch -n 3 asynqmon stats -> Shows current state of tasks every three seconds`,
|
Example: watch -n 3 asynq stats -> Shows current state of tasks every three seconds`,
|
||||||
Args: cobra.NoArgs,
|
Args: cobra.NoArgs,
|
||||||
Run: stats,
|
Run: stats,
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ import (
|
|||||||
var workersCmd = &cobra.Command{
|
var workersCmd = &cobra.Command{
|
||||||
Use: "workers",
|
Use: "workers",
|
||||||
Short: "Shows all running workers information",
|
Short: "Shows all running workers information",
|
||||||
Long: `Workers (asynqmon workers) will show all running workers information.
|
Long: `Workers (asynq workers) will show all running workers information.
|
||||||
|
|
||||||
The command shows the following for each worker:
|
The command shows the following for each worker:
|
||||||
* Process in which the worker is running
|
* Process in which the worker is running
|
||||||
|
Loading…
Reference in New Issue
Block a user