2
0
mirror of https://github.com/hibiken/asynq.git synced 2025-10-03 05:12:01 +08:00

Rename ps command to servers

This commit is contained in:
Ken Hibino
2020-04-12 17:09:58 -07:00
parent cf61911a49
commit b086e88a47
4 changed files with 53 additions and 54 deletions

View File

@@ -758,24 +758,23 @@ func (r *RDB) RemoveQueue(qname string, force bool) error {
return nil
}
// TODO: Rename this to listServerInfo.
// Note: Script also removes stale keys.
var listProcessesCmd = redis.NewScript(`
var listServersCmd = redis.NewScript(`
local res = {}
local now = tonumber(ARGV[1])
local keys = redis.call("ZRANGEBYSCORE", KEYS[1], now, "+inf")
for _, key in ipairs(keys) do
local ps = redis.call("GET", key)
if ps then
table.insert(res, ps)
local s = redis.call("GET", key)
if s then
table.insert(res, s)
end
end
redis.call("ZREMRANGEBYSCORE", KEYS[1], "-inf", now-1)
return res`)
// ListProcesses returns the list of process statuses.
func (r *RDB) ListProcesses() ([]*base.ServerInfo, error) {
res, err := listProcessesCmd.Run(r.client,
// ListServers returns the list of process statuses.
func (r *RDB) ListServers() ([]*base.ServerInfo, error) {
res, err := listServersCmd.Run(r.client,
[]string{base.AllServers}, time.Now().UTC().Unix()).Result()
if err != nil {
return nil, err
@@ -784,16 +783,16 @@ func (r *RDB) ListProcesses() ([]*base.ServerInfo, error) {
if err != nil {
return nil, err
}
var processes []*base.ServerInfo
var servers []*base.ServerInfo
for _, s := range data {
var ps base.ServerInfo
err := json.Unmarshal([]byte(s), &ps)
var info base.ServerInfo
err := json.Unmarshal([]byte(s), &info)
if err != nil {
continue // skip bad data
}
processes = append(processes, &ps)
servers = append(servers, &info)
}
return processes, nil
return servers, nil
}
// Note: Script also removes stale keys.

View File

@@ -2051,7 +2051,7 @@ func TestRemoveQueueError(t *testing.T) {
}
}
func TestListProcesses(t *testing.T) {
func TestListServers(t *testing.T) {
r := setup(t)
started1 := time.Now().Add(-time.Hour)
@@ -2113,12 +2113,12 @@ func TestListProcesses(t *testing.T) {
}
}
got, err := r.ListProcesses()
got, err := r.ListServers()
if err != nil {
t.Errorf("r.ListProcesses returned an error: %v", err)
t.Errorf("r.ListServers returned an error: %v", err)
}
if diff := cmp.Diff(tc.want, got, h.SortServerInfoOpt, ignoreOpt, ignoreFieldOpt); diff != "" {
t.Errorf("r.ListProcesses returned %v, want %v; (-want,+got)\n%s",
t.Errorf("r.ListServers returned %v, want %v; (-want,+got)\n%s",
got, tc.serverStates, diff)
}
}
@@ -2173,7 +2173,7 @@ func TestListWorkers(t *testing.T) {
err := r.WriteServerState(ss, time.Minute)
if err != nil {
t.Errorf("could not write process state to redis: %v", err)
t.Errorf("could not write server state to redis: %v", err)
continue
}