Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion openc3/lib/openc3/models/target_model.rb
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,13 @@ def deploy(gem_path, variables, validate_only: false)
data = ERB.new(data, trim_mode: "-").result(binding.set_variables(variables)) if data.is_printable? and File.basename(filename)[0] != '_'
end
rescue => error
raise "ERB error parsing: #{filename}: #{error.formatted}"
# ERB error parsing a screen is just a logger error because life can go on
# With cmd/tlm or scripts this is a serious error and we raise
if (filename.include?('/screens/'))
Logger.error("ERB error parsing #{key} due to #{error.message}")
else
raise "ERB error parsing #{key} due to #{error.message}"
end
end
local_path = File.join(temp_dir, @name, target_folder_path)
FileUtils.mkdir_p(File.dirname(local_path))
Expand Down
6 changes: 4 additions & 2 deletions openc3/lib/openc3/utilities/process_manager.rb
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,15 @@ def monitor
@processes.each do |process|
# Check if the process is still alive
if !process.alive?
output = process.extract_output
process.status.output = output
if process.exit_code != 0
process.status.state = "Crashed"
elsif output.include?('"severity":"ERROR"') || output.include?('"severity":"WARN"')
process.status.state = "Warning"
else
process.status.state = "Complete"
end
output = process.extract_output
process.status.output = output
process.hard_stop
processes_to_delete << process
elsif process.expires_at < current_time
Expand Down