Class: RQ::Querier

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

Overview

a Querier simply takes an sql where clause (such as ‘jid = 42’) from the command line, queries the queue, and dumps a valid yaml representation of the tuples returned. the output of a Querier can be used as the input to a Deleter or Submitter, etc.

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

#queryObject

–}}}



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/rq/querier.rb', line 18

def query
#--{{{
  set_q

  @q.qdb.transaction_retries = 1

  where_clause = @argv.join ' '

  if where_clause.empty? and stdin? 
    debug{ "reading where_clause from stdin" }
    while((buf = stdin.gets))
      buf.strip!
      buf.gsub! %r/#.*$/o, ''
      next if buf.empty?
      where_clause << "#{ buf } "
    end
  end

  @q.query(where_clause, &dumping_yaml_tuples)
#--}}}
end