Module: Falqon::Commands

Extended by:
T::Sig
Included in:
CLI
Defined in:
lib/falqon/commands.rb,
lib/falqon/commands/base.rb,
lib/falqon/commands/kill.rb,
lib/falqon/commands/list.rb,
lib/falqon/commands/show.rb,
lib/falqon/commands/clear.rb,
lib/falqon/commands/stats.rb,
lib/falqon/commands/delete.rb,
lib/falqon/commands/refill.rb,
lib/falqon/commands/revive.rb,
lib/falqon/commands/status.rb,
lib/falqon/commands/version.rb,
lib/falqon/commands/schedule.rb

Overview

Falqon commands

Defined Under Namespace

Classes: Clear, Delete, Kill, List, Refill, Revive, Schedule, Show, Stats, Status

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/falqon/commands.rb', line 19

def self.included(base)
  base.class_eval do
    desc "version", "Display version"
    # @!visibility private
    def version
      Version
        .new(options)
        .call
    end

    desc "list", "Display all active (registered) queues"
    # @!visibility private
    def list
      List
        .new(options)
        .call
    end

    desc "status", "Display queue status"
    option :queue, aliases: "-q", type: :string, desc: "Queue name"
    # @!visibility private
    def status
      Status
        .new(options)
        .call
    end

    desc "stats", "Display queue statistics"
    option :queue, aliases: "-q", type: :string, desc: "Queue name"
    # @!visibility private
    def stats
      Stats
        .new(options)
        .call
    end

    desc "show", "Display messages in a queue"
    option :queue, aliases: "-q", type: :string, desc: "Queue name", required: true

    option :pending, type: :boolean, desc: "Display pending messages (default)"
    option :processing, type: :boolean, desc: "Display processing messages"
    option :dead, type: :boolean, desc: "Display dead messages"

    option :data, aliases: "-d", type: :boolean, desc: "Display raw data"
    option :meta, aliases: "-m", type: :boolean, desc: "Display additional metadata"

    option :head, type: :numeric, desc: "Display N messages from head of queue"
    option :tail, type: :numeric, desc: "Display N messages from tail of queue"
    option :index, type: :numeric, desc: "Display message at index N", repeatable: true
    option :range, type: :array, desc: "Display messages at index N to M", banner: "N M"

    option :id, type: :numeric, desc: "Display message with ID N", repeatable: true
    # @!visibility private
    def show
      Show
        .new(options)
        .call
    end

    desc "delete", "Delete messages from a queue"
    option :queue, aliases: "-q", type: :string, desc: "Queue name", required: true

    option :pending, type: :boolean, desc: "Delete only pending messages (default)"
    option :processing, type: :boolean, desc: "Delete only processing messages"
    option :dead, type: :boolean, desc: "Delete only dead messages"

    option :head, type: :numeric, desc: "Delete N messages from head of queue"
    option :tail, type: :numeric, desc: "Delete N messages from tail of queue"
    option :index, type: :numeric, desc: "Delete message at index N", repeatable: true
    option :range, type: :array, desc: "Delete messages at index N to M", banner: "N M"

    option :id, type: :numeric, desc: "Delete message with ID N", repeatable: true
    # @!visibility private
    def delete
      Delete
        .new(options)
        .call
    end

    desc "kill", "Kill messages in a queue"
    option :queue, aliases: "-q", type: :string, desc: "Queue name", required: true

    option :pending, type: :boolean, desc: "Kill only pending messages (default)"
    option :processing, type: :boolean, desc: "Kill only processing messages"

    option :head, type: :numeric, desc: "Kill N messages from head of queue"
    option :tail, type: :numeric, desc: "Kill N messages from tail of queue"
    option :index, type: :numeric, desc: "Kill message at index N", repeatable: true
    option :range, type: :array, desc: "Kill messages at index N to M", banner: "N M"

    option :id, type: :numeric, desc: "Kill message with ID N", repeatable: true
    # @!visibility private
    def kill
      Kill
        .new(options)
        .call
    end

    desc "clear", "Clear messages from a queue"
    option :queue, aliases: "-q", type: :string, desc: "Queue name", required: true

    option :pending, type: :boolean, desc: "Clear only pending messages"
    option :processing, type: :boolean, desc: "Clear only processing messages"
    option :dead, type: :boolean, desc: "Clear only dead messages"
    # @!visibility private
    def clear
      Clear
        .new(options)
        .call
    end

    desc "refill", "Refill queue (move processing messages to pending)"
    option :queue, aliases: "-q", type: :string, desc: "Queue name", required: true
    # @!visibility private
    def refill
      Refill
        .new(options)
        .call
    end

    desc "revive", "Revive queue (move dead messages to pending)"
    option :queue, aliases: "-q", type: :string, desc: "Queue name", required: true
    # @!visibility private
    def revive
      Revive
        .new(options)
        .call
    end

    desc "schedule", "Schedule failed messages for a retry"
    option :queue, aliases: "-q", type: :string, desc: "Queue name", required: true
    # @!visibility private
    def schedule
      Schedule
        .new(options)
        .call
    end
  end
end

Instance Method Details

#optionsObject

rubocop:disable Lint/UselessMethodDefinition



13
14
15
# File 'lib/falqon/commands.rb', line 13

def options # rubocop:disable Lint/UselessMethodDefinition
  super
end