-
Notifications
You must be signed in to change notification settings - Fork 42
Task Helpers
This document contains several lists of helper methods for writing CBRAIN tasks, with some notes. Full descriptions of the methods with examples can be obtained by generating the code documentation, as explained at the begining of the Programmer Guides.
Methods listed in the following tables use this convention:
- Class method names are preceded by
::
- Instance method names are preceded by
#
These methods are usually defined in the file models/cbrain_task.rb
and are thus available on both the Portal and Bourreau side of a CBRAIN
installation.
Method Name | Notes |
---|---|
::pretty_type | |
#name | |
#name_and_bourreau | |
#fullname | |
#pretty_name | |
::pretty_name | |
#bid_tid | |
#bname_tid | |
#bname_tid_dashed | |
#tname_tid | |
#run_number | |
#run_id |
Method Name | Notes |
---|---|
::tool | Not an attribute of a CbrainTask. |
#tool | |
#full_cluster_workdir | |
#cluster_shared_dir | |
#short_description | |
#archived_status |
Method Name | Notes |
---|---|
#share_workdir_with | |
#add_prerequisites | |
#remove_prerequisites | |
#add_prerequisites_for_setup | |
#add_prerequisites_for_post_processing | |
#remove_prerequisites_for_setup | |
#remove_prerequisites_for_post_processing |
Method Name | Notes |
---|---|
#addlog | |
#addlog_exception | |
#addlog_current_resource_revision |
Method Name | Notes |
---|---|
::after_status_transition | Can be used as a directive in a class |
These methods are only available when tasks are instanciated on a
BrainPortal rails application. They are usually defined in the file
models/portal_task.rb
(which inherit from models/cbrain_task.rb
).
A task programmer will therefore only invoke them when writing the
Ruby files located under the portal
subdirectory of the task's codebase.
These methods are usually redefined in subclasses to implement the proper portal functionality of a CbrainTask.
Method Name | Notes |
---|---|
::properties | |
::default_launch_args | |
::pretty_params_names | |
#before_form | |
#refresh_form | |
#after_form | |
#final_task_list | |
#after_final_task_list_saved | |
#untouchable_params_attributes | |
#unpresetable_params_attributes |
Method Name | Notes |
---|---|
#capture_job_out_err | Actively contacts the Bourreau side |
::public_path | For static assets |
#public_path | For static assets |
These methods are only available when tasks are instanciated on a
Bourreau rails applciation. They are usually defined in the file
models/portal_task.rb
(which inherit from models/cbrain_task.rb
).
A task programmer will therefore only invoke them when writing the
Ruby files located under the bourreau
subdirectory of the task's codebase.
These methods are usually redefined in subclasses to implement the proper bourreau functionality of a CbrainTask.
Method Name | Notes |
---|---|
#setup | |
#cluster_commands | |
#save_results | |
#job_walltime_estimate | |
#recover_from_setup_failure | |
#recover_from_cluster_failure | |
#recover_from_post_processing_failure | |
#restart_at_setup | |
#restart_at_cluster | |
#restart_at_post_processing |
Method Name | Notes |
---|---|
#safe_mkdir | |
#safe_symlink | |
#safe_userfile_find_or_new | |
#path_is_in_workdir? | |
#tool_config_system |
Method Name | Notes |
---|---|
#addlog_to_userfiles_processed | |
#addlog_to_userfiles_created | |
#addlog_to_userfiles_these_created_these |
Method Name | Notes |
---|---|
#output_renaming_standard_keywords | |
#output_renaming_add_numbered_keywords |
Method Name | Notes |
---|---|
#stdout_cluster_filename | |
#stderr_cluster_filename |
Method Name | Notes |
---|---|
#archive_work_directory | |
#unarchive_work_directory | |
#archive_work_directory_to_userfile | |
#unarchive_work_directory_from_userfile |
These methods are helpers for writing the task's interface. They
are usually invoked from within the Rails partials and template files
located in the views
subdirectory of the task's codebase.
Method Name | Notes |
---|---|
#task_partial | For tasks with complex interfaces stored in multiple files |
#output_renaming_fieldset | Utility, to use in conjunction with #output_renaming_add_numbered_keywords on the Bourreau side |