Class: Pindo::TaskSystem::JPSBindPackageTask
- Defined in:
- lib/pindo/module/task/model/jps/jps_bind_package_task.rb
Overview
JPS 绑定包任务将 Git commit 绑定到已上传的项目包(支持批量绑定)
支持两种模式:
-
指定模式:传入 git_commit_id 和 app_version_list
-
依赖模式:从依赖任务(GitCommitTask、JPSUploadTask)获取信息
Instance Attribute Summary collapse
-
#app_version_list ⇒ Object
readonly
Returns the value of attribute app_version_list.
-
#git_commit_desc ⇒ Object
readonly
Returns the value of attribute git_commit_desc.
-
#git_commit_id ⇒ Object
readonly
Returns the value of attribute git_commit_id.
-
#git_commit_time ⇒ Object
readonly
Returns the value of attribute git_commit_time.
Attributes inherited from JPSTask
#app_info_obj, #project_name, #workflow_info
Attributes inherited from PindoTask
#callbacks_setup, #context, #created_at, #dependencies, #error, #finished_at, #id, #max_retry_count, #metadata, #name, #priority, #result, #retry_count, #retry_delay, #retry_mode, #skip_count, #started_at, #status, #task_key, #task_manager, #type
Class Method Summary collapse
- .default_retry_count ⇒ Object
- .default_retry_delay ⇒ Object
-
.default_retry_mode ⇒ Object
绑定任务重试配置.
-
.task_key ⇒ Object
任务键.
Instance Method Summary collapse
-
#initialize(app_version_list = nil, options = {}) ⇒ JPSBindPackageTask
constructor
初始化绑定包任务.
- #validate ⇒ Object
Methods inherited from JPSTask
Methods inherited from PindoTask
#before_retry, #cancel, #cancelled?, #check_cancelled!, #data_param, #do_task, #execution_time, #finished?, #get_all_data_params, #get_all_data_params_by_key, #get_all_dependencies_results, #get_data_param, #get_data_param_by_key, #get_dependency_result, #get_dependency_task, #on, #primary_data_param, #release_resource, #release_resources, #required_resources, #reset_for_retry, #retryable?, #running?, #should_retry?, task_type, #with_resource, #with_resources
Constructor Details
#initialize(app_version_list = nil, options = {}) ⇒ JPSBindPackageTask
初始化绑定包任务
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 33 def initialize(app_version_list = nil, = {}) # 兼容性处理:如果传入的是单个 Hash,转为数组 if app_version_list.is_a?(Hash) @app_version_list = [app_version_list] elsif app_version_list.is_a?(Array) @app_version_list = app_version_list else @app_version_list = nil end @git_commit_id = [:git_commit_id] @git_commit_time = [:git_commit_time] @git_commit_desc = [:git_commit_desc] @project_dir = [:project_dir] # 设置任务优先级为 LOW,确保在上传任务之后执行 [:priority] ||= TaskPriority::LOW super("绑定 包到Git工作流", ) end |
Instance Attribute Details
#app_version_list ⇒ Object (readonly)
Returns the value of attribute app_version_list.
16 17 18 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 16 def app_version_list @app_version_list end |
#git_commit_desc ⇒ Object (readonly)
Returns the value of attribute git_commit_desc.
15 16 17 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 15 def git_commit_desc @git_commit_desc end |
#git_commit_id ⇒ Object (readonly)
Returns the value of attribute git_commit_id.
15 16 17 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 15 def git_commit_id @git_commit_id end |
#git_commit_time ⇒ Object (readonly)
Returns the value of attribute git_commit_time.
15 16 17 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 15 def git_commit_time @git_commit_time end |
Class Method Details
.default_retry_count ⇒ Object
64 65 66 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 64 def self.default_retry_count 2 # 绑定任务重试 2 次 end |
.default_retry_delay ⇒ Object
68 69 70 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 68 def self.default_retry_delay 3 # 延迟 3 秒 end |
.default_retry_mode ⇒ Object
绑定任务重试配置
60 61 62 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 60 def self.default_retry_mode RetryMode::DELAYED end |
.task_key ⇒ Object
任务键
19 20 21 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 19 def self.task_key :jps_bind_package end |
Instance Method Details
#validate ⇒ Object
54 55 56 57 |
# File 'lib/pindo/module/task/model/jps/jps_bind_package_task.rb', line 54 def validate # app_version_list 和 git_commit_id 可以延迟获取,不在这里验证 true end |