Module: SqlCmd::Agent::Job
- Defined in:
- lib/sql_cmd/agent.rb
Class Method Summary collapse
- .exists?(connection_string, job_name) ⇒ Boolean
- .run_status(connection_string, job_name) ⇒ Object
- .running?(connection_string, job_name) ⇒ Boolean
- .status(connection_string, job_name) ⇒ Object
Class Method Details
.exists?(connection_string, job_name) ⇒ Boolean
6 7 8 |
# File 'lib/sql_cmd/agent.rb', line 6 def exists?(connection_string, job_name) status(connection_string, job_name)['LastRunStatus'] != 'NoJob' end |
.run_status(connection_string, job_name) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/sql_cmd/agent.rb', line 23 def run_status(connection_string, job_name) raise 'Failed to get job status! The connection_string argument must be specified.' if connection_string.nil? || connection_string.empty? raise 'Failed to get job status! The job_name argument must be specified.' if job_name.nil? || job_name.empty? sql_script = ::File.read("#{SqlCmd.sql_script_dir}/Agent/JobRunStatus.sql") server_connection_string = SqlCmd.remove_connection_string_part(connection_string, :database) SqlCmd.execute_query(server_connection_string, sql_script, return_type: :first_row, values: { 'jobname' => job_name }, readonly: true, retries: 3) || {} end |
.running?(connection_string, job_name) ⇒ Boolean
10 11 12 |
# File 'lib/sql_cmd/agent.rb', line 10 def running?(connection_string, job_name) !run_status(connection_string, job_name).empty? end |
.status(connection_string, job_name) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/sql_cmd/agent.rb', line 14 def status(connection_string, job_name) raise 'Failed to get job status! The connection_string argument must be specified.' if connection_string.nil? || connection_string.empty? raise 'Failed to get job status! The job_name argument must be specified.' if job_name.nil? || job_name.empty? return { 'LastRunStatus' => 'Running' } if running?(connection_string, job_name) sql_script = ::File.read("#{SqlCmd.sql_script_dir}/Agent/JobLastRunInfo.sql") server_connection_string = SqlCmd.remove_connection_string_part(connection_string, :database) SqlCmd.execute_query(server_connection_string, sql_script, return_type: :first_row, values: { 'jobname' => job_name }, readonly: true, retries: 3) || { 'LastRunStatus' => 'NoJob' } end |