# File lib/rq-2.3.1/submitter.rb, line 26
      def submit
#--{{{
        set_q

        @priority = @options['priority']
        debug{ "priority <#{ @priority }>" }

        @tag = @options['tag']
        debug{ "tag <#{ @tag }>" }

        @runner = @options['runner']
        debug{ "runner <#{ @runner }>" }

        @restartable = @options['restartable']
        debug{ "restartable <#{ @restartable }>" }

        @infile = @options['infile'] 
        debug{ "infile <#{ @infile }>" }

        @stage = @options['stage']
        debug{ "stage <#{ @stage }>" }

        jobs = [] 

        unless @argv.empty?
          job = Job::new
          job['command'] = @argv.join(' ') 
          job['priority'] = @priority
          job['tag'] = @tag 
          job['runner'] = @runner
          job['restartable'] = @restartable
          jobs << job
        end

        if @infile
          open(@infile) do |f|
            debug{ "reading jobs from <#{ @infile }>" }
            loadio f, @infile, jobs 
          end
        end

        if jobs.empty? or not STDIN.tty? 
          debug{ "reading jobs from <stdin>" }
          loadio STDIN, 'stdin', jobs 
        end

        raise "no jobs specified!" if jobs.empty?
        
        state = @stage ? 'holding' : 'pending'

        jobs.each do |job|
          job['state'] = state
          job['priority'] = @priority if @priority
          job['tag'] = @tag if @tag
          job['runner'] = @runner if @runner
          job['restartable'] = @restartable if @restartable
        end

        if @options['quiet'] 
          @q.submit(*jobs)
        else
          puts '---'
          @q.submit(*jobs) do |tuple|
            puts '-'
            tuple.fields.each{|f| puts " #{ f }: #{ tuple[ f ] }"}
          end
        end
    
        jobs = nil
        self
#--}}}
      end