Both sides previous revisionPrevious revisionNext revision | Previous revision |
transformations:synchronize [2016/11/30 10:16] – dmitry | transformations:synchronize [2021/07/17 23:59] (current) – craigt |
---|
===== Synchronize with another table ===== | {{ transformations:SynchronizeAction.png}} |
| ====== SYNCHRONIZE ====== |
| Category: Workflow / Internal \\ |
| |
Wait until last transformation of another table is calculated. | \\ |
| =====Description===== |
| This action pauses the current action chain until the last action of another table is calculated.\\ |
| |
This transformation is usually used for synchronization of access to external files and applications in order to avoid simultaneous reading/writing by independent transformation chains. In a typical use case it is inserted immediately before a side-effect transformation (export, run program, etc.). As EasyMorph calculates independent transformation chains asynchronously, Synchronize is used to enforce a dependency and guarantee a particular execution order. | \\ |
| =====Use cases===== |
| This action is usually used for synchronization of access to external files and applications in order to avoid simultaneous reading/writing by independent action chains. In a typical use case, it is inserted immediately before a side-effect action (export, run program, etc.). As EasyMorph calculates independent action chains asynchronously, //Synchronize// is used to enforce a dependency and guarantee a particular execution order. |
| |
Read also: | \\ |
| =====Action settings===== |
| ^Setting^Description^ |
| |Other table|Select the other table to synchronize with (e.g., wait until that table's action chain is complete before continuing the current one).| |
| |
| \\ |
| =====Remarks===== |
| You cannot select a table that relies on (is based on) the current dataset. Doing so will result in a "cyclical dependency error". |
| |
| \\ |
| =====Community examples===== |
| * [[https://community.easymorph.com/t//1273/8|Split Excel spreadsheets into multiple spreadsheets]] ([[https://community.easymorph.com/uploads/short-url/klG62NjaDDRQ2VXvo1xtFZJUYjK.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Table 2//; Action position: //4//) |
| * [[https://community.easymorph.com/t//1769/1|How to do recursive loops in EasyMorph]] ([[https://community.easymorph.com/uploads/short-url/qM6kmqrDRWiEDJFljIa2u6QWre1.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Loop//; Action position: //2//) |
| * [[https://community.easymorph.com/t//1854/2|Product of Rows in a Column]] ([[https://community.easymorph.com/uploads/short-url/8o7F1FHzlEr0hUV2BgCLFNEMKqk.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Cumulative iteration//; Action position: //2//) |
| |
| \\ |
| =====See also===== |
| * [[transformations:halt|Halt on condition]] |
| * [[transformations:wait|Wait]] |
* [[http://blog.easymorph.com/2016/11/using-synchronize-transformation.html|Blog: Using Synchronize transformation]] | * [[http://blog.easymorph.com/2016/11/using-synchronize-transformation.html|Blog: Using Synchronize transformation]] |