Class: RQ::Deleter

Inherits:
MainHelper show all
Defined in:
lib/rq/deleter.rb

Overview

the Deleter class reads the command line, stdin, or an infile to determine the job ids (jid) of jobs to be deleted from the queue. jids may be specified on the command line or parsed from stdin or the infile. any input line matching ‘jid : number’ or ‘number’ is taken to be a line indicating a jid to delete.

Constant Summary

Constants included from Logging

Logging::DIV0, Logging::DIV1, Logging::DIV2, Logging::DIV3, Logging::EOL, Logging::SEC0, Logging::SEC1, Logging::SEC2, Logging::SEC3

Instance Attribute Summary

Attributes inherited from MainHelper

#argv, #cmd, #dot_rq_dir, #env, #fields, #job_stdin, #loops, #main, #mode, #options, #program, #q, #qpath, #quiet, #stdin

Instance Method Summary collapse

Methods inherited from MainHelper

#dumping_yaml_tuples, #field_match, #init_job_stdin!, #initialize, #loadio, #loadyaml, #set_q

Methods included from Logging

append_features

Methods included from Logging::LogMethods

#debug, #error, #fatal, #info, #logerr, #logger, #logger=, #warn

Methods included from Util

#alive?, append_features, #btrace, #columnize, #defval, #emsg, #erreq, #errmsg, #escape, #escape!, #exec, export, #fork, #getopt, #hashify, #hms, #host, #hostname, #klass, #maim, #mcp, #realpath, #stamptime, #system, #timestamp, #tmpnam, #uncache, #which_ruby

Constructor Details

This class inherits a constructor from RQ::MainHelper

Instance Method Details

#deleteObject

–{{{



18
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
# File 'lib/rq/deleter.rb', line 18

def delete
#--{{{
  set_q

  whats = @argv

  if whats.empty? and stdin?
    pat = %r/^(?:\s*jid\s*:)?\s*(\d+)\s*$|^\s*(all)\s*$/io
    while((line = stdin.gets))
      match = pat.match line
      next unless match
      whats << (match[1] || match[2])
    end
  end

  #whats.map!{|what| what =~ %r/^\s*\d+\s*$/o ? Integer(what) : what}

  raise "nothing to delete" if whats.empty?

  if @options['quiet'] 
    @q.delete(*whats)
  else
    @q.delete(*whats, &dumping_yaml_tuples)
  end

  @q.vacuum
#--}}}
end