Module OpenWFE::StatusMethods
In: lib/openwfe/engine/status_methods.rb

This mixin is only included by the Engine class. It contains all the methods about ProcessStatus.

Methods

Public Instance methods

Returns true if the process is in pause.

[Source]

     # File lib/openwfe/engine/status_methods.rb, line 352
352:         def is_paused? (wfid)
353: 
354:             (get_expression_pool.paused_instances[wfid] != nil)
355:         end
list_process_status(options={})

Alias for process_statuses

Returns the process status of one given process instance.

[Source]

     # File lib/openwfe/engine/status_methods.rb, line 342
342:         def process_status (wfid)
343: 
344:             wfid = extract_wfid wfid, true
345: 
346:             process_statuses(:wfid => wfid).values[0]
347:         end

Returns a hash of ProcessStatus instances. The keys of the hash are workflow instance ids.

A ProcessStatus is a description of the state of a process instance. It enumerates the expressions where the process is currently located (waiting certainly) and the errors the process currently has (hopefully none).

[Source]

     # File lib/openwfe/engine/status_methods.rb, line 286
286:         def process_statuses (options={})
287: 
288:             options = { :wfid_prefix => options } if options.is_a?(String)
289: 
290:             result = {}
291: 
292:             expressions = get_expression_storage.find_expressions options
293: 
294:             expressions.each do |fexp|
295: 
296:                 next unless (fexp.apply_time or fexp.is_a?(Environment))
297: 
298:                 next if fexp.fei.wfid == "0" # skip the engine env
299: 
300:                 #(result[fexp.fei.parent_wfid] ||= ProcessStatus.new) << fexp
301: 
302:                 parent_wfid = fexp.fei.parent_wfid
303:                 
304:                 ps = result[parent_wfid]
305: 
306:                 if not ps
307: 
308:                     ps = ProcessStatus.new
309: 
310:                     ps.paused = 
311:                         (get_expool.paused_instances[parent_wfid] != nil)
312: 
313:                     result[parent_wfid] = ps
314:                 end
315: 
316:                 ps << fexp
317:             end
318: 
319:             result.values.each do |ps|
320:                 get_error_journal.get_error_log(ps.wfid).each do |error|
321:                     ps << error
322:                 end
323:             end
324: 
325:             class << result
326:                 def to_s
327:                     OpenWFE::pretty_print_process_status(self)
328:                 end
329:             end
330: 
331:             result
332:         end

[Validate]