{"id":3957,"date":"2019-02-12T16:10:13","date_gmt":"2019-02-12T16:10:13","guid":{"rendered":"https:\/\/cyflexdoc.wpengine.com\/usage-help-manual\/6-internodal-communication\/snode_link\/"},"modified":"2025-11-14T13:15:46","modified_gmt":"2025-11-14T18:15:46","slug":"snode_link","status":"publish","type":"page","link":"https:\/\/cyflex.com\/index.php\/usage-help-manual\/18-internodal-communication\/snode_link\/","title":{"rendered":"snode_link"},"content":{"rendered":"<h3>Purpose:<\/h3>\n<dl>\n<dd>\n<p>Retrieve variables from remote nodes and update local CyFlex variables based on a specification file.<\/p>\n<\/dd>\n<\/dl>\n<h3>Enter:<\/h3>\n<dl>\n<dd>\n<p><strong>snode_link<\/strong>\u00a0 &lt;filename&gt; [name=task_name] [host=hostname] \u00a0[direction=push|pull] &amp;<\/p>\n<\/dd>\n<\/dl>\n<h3>Where:<\/h3>\n<dl>\n<dd>\n<table style=\"width: 100%;\" cellspacing=\"0\" cellpadding=\"0\">\n<colgroup>\n<col \/>\n<col \/> <\/colgroup>\n<tbody>\n<tr>\n<td style=\"width: 13.1617%;\">\n<p>filename<\/p>\n<\/td>\n<td style=\"width: 86.6953%;\">\n<p>Specify the pathname of the specification file that contains a list of local and remote CyFlex variables.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 13.1617%;\">\n<p>name<\/p>\n<\/td>\n<td style=\"width: 86.6953%;\">\n<p>Optional. Specify the name to register this task with the operating system. \u00a0The default value is &#8220;snode_link&#8221;.\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 13.1617%;\">\n<p>host<\/p>\n<\/td>\n<td style=\"width: 86.6953%;\">\n<p>Optional. Specify the IP address or hostname of the remote computer used for specifications involving CMD_LINE.\u00a0\u00a0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 13.1617%;\">\n<p>direction<\/p>\n<\/td>\n<td style=\"width: 86.6953%;\">\n<p>Optional. Specify &#8216;push&#8217; or &#8216;pull&#8217; to indicate the direction of data transfer. \u00a0The default is to \u2018pull\u2019 data from the remote node.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/dd>\n<\/dl>\n<h3>Example:<\/h3>\n<dl>\n<dd>\n<p><strong>snode_link\u00a0<\/strong>\u00a0\/specs\/node_link_specs.123 \u00a0&amp;<br \/>\nThe above starts \u2018snode_link\u2019 on the local node accessing the CyFlex variables specified in the file node_link_specs.123. \u00a0The task name of &#8220;snode_link&#8221; is registered with the operating system.<\/p>\n<p><strong>snode_link<\/strong>\u00a0 node_link.settings \u00a0direction=push \u00a0host=xyznode27 \u00a0&amp;<br \/>\nThe above starts \u2018snode_link\u2019 on the local node and move data to xyznode27. \u00a0The local computer must be able to resolve the host name into an IP address.<\/p>\n<\/dd>\n<\/dl>\n<h3>Notes:<\/h3>\n<dl>\n<dd>\n<p>A maximum of 1200 variables may be specified in each file, transferred in blocks of up to 6 variables per block and up to 200 blocks. It is required that all nodes have the connection server (connsrvr) running and that remote nodes run sm_server. This program is typically spawned via the go script, and multiple instances can be used for different nodes.<\/p>\n<p>This program is normally spawned via the go script. Multiple copies may be spawned if links to different nodes using separate specification files are desired.<\/p>\n<p>The following is an example specification file linking to more than one node.<\/p>\n<p>Standard CyFlex intervals may be used beginning with CyFlex version 6.3.<\/p>\n<\/dd>\n<\/dl>\n<div>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u00a0keyword \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 host name \u00a0 \u00a0 \u00a0 \u00a0 transfer_interval \u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0@HOSTNAME \u00a0 CMD_LINE \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 SLO \u00a0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0^&#8211;this\u00a0is\u00a0replaced\u00a0by\u00a0the host= option value<br \/>\n\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u00a0fetched_variable(remote\u00a0node)\u00a0\u00a0target\u00a0variable\u00a0(this\u00a0node) \u00a0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0cell_2_token \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 my_token\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<br \/>\n\u00a0<\/div>\n<div>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0The\u00a0following\u00a0is\u00a0an\u00a0example\u00a0specification file\u00a0linking\u00a0to\u00a0a\u00a0node\u00a0via\u00a0it\u2019s \u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ip\u00a0address\u00a0or\u00a0hostname. \u00a0<\/div>\n<div>\n\u00a0 \u00a0 \u00a0 \u00a0 #\u00a0keyword \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 host name \u00a0 \u00a0 \u00a0 \u00a0 transfer_interval \u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0@HOSTNAME \u00a0123.45.67.89 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 60[sec] \u00a0<br \/>\n\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0#\u00a0fetched_variable(remote\u00a0node)\u00a0\u00a0target\u00a0variable\u00a0(this\u00a0node) \u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0barometer\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0barometer \u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0vp_central \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 vap_pa \u00a0<\/p>\n<\/div>\n<div><strong>NOTE<\/strong>: Beginning with CyFlex version 6.3 the transfer interval can be given as a time value with units, an event name, or one of the standard CyFlex execution rates such as FAS, MED, SLO, etc.<\/div>\n<h3>See Also:<\/h3>\n<dl>\n<dd>\n<p><a href=\"\/index.php\/usage-help-manual\/18-internodal-communication\/connsrvr\/\">connsrvr<\/a>, <a href=\"\/wp-content\/uploads\/Connection-Server-Setup.pdf\">Connection Server Setup<\/a>, <a href=\"\/wp-content\/uploads\/Internodal-Communications-Tasks-Reference.pdf\">Internodal Communications Tasks Reference<\/a>, <a href=\"\/index.php\/usage-help-manual\/18-internodal-communication\/snl_test\/\">snl_test<\/a>, <a href=\"\/index.php\/usage-help-manual\/18-internodal-communication\/csdump\/\">csdump<\/a><\/p>\n<\/dd>\n<\/dl>\n","protected":false},"excerpt":{"rendered":"<p>Purpose: Retrieve variables from remote nodes and update local CyFlex variables based on a specification file. Enter: snode_link\u00a0 &lt;filename&gt; [name=task_name] [host=hostname] \u00a0[direction=push|pull] &amp; Where: filename Specify the pathname of the specification file that contains a list of local and remote CyFlex variables. name Optional. Specify the name to register this task with the operating system. [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":0,"parent":1953,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3957","page","type-page","status-publish","hentry"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/cyflex.com\/index.php\/wp-json\/wp\/v2\/pages\/3957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyflex.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cyflex.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cyflex.com\/index.php\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/cyflex.com\/index.php\/wp-json\/wp\/v2\/comments?post=3957"}],"version-history":[{"count":0,"href":"https:\/\/cyflex.com\/index.php\/wp-json\/wp\/v2\/pages\/3957\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/cyflex.com\/index.php\/wp-json\/wp\/v2\/pages\/1953"}],"wp:attachment":[{"href":"https:\/\/cyflex.com\/index.php\/wp-json\/wp\/v2\/media?parent=3957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}