{"id":7837,"date":"2020-03-17T10:12:15","date_gmt":"2020-03-17T17:12:15","guid":{"rendered":"https:\/\/minisoft.com\/support\/?p=7837"},"modified":"2020-03-17T10:12:16","modified_gmt":"2020-03-17T17:12:16","slug":"the-importance-of-atomicity","status":"publish","type":"post","link":"https:\/\/c002.minisoft.com\/support\/the-importance-of-atomicity\/","title":{"rendered":"The Importance of Atomicity"},"content":{"rendered":"\n<p>In multi-threaded computer environments, the CPU provides multiple threads of execution concurrently within a single process by sharing resources like memory and files. \u2018Atomicity\u2019 refers to an \u2018atomic transaction\u2019 in databases, which is irreducible and indivisible from other operations. <\/p>\n\n\n\n<p>In eFORMz, atomicity is vitally important in a number of processes, features and utilities, because eFORMz creates and copies files frequently. If those  processes aren\u2019t completed, before the file is renamed for instance, the result may be corrupted data.<\/p>\n\n\n\n<p>A frequent example of atomicity is a banking transaction,\nwhere the bank account needs to be locked during a transaction to ensure that\nwithdrawals occur on the proper account balance. Performing the action in\natomic transaction ensures the data, in this case the account balance, remains\nin a consistent state.<\/p>\n\n\n\n<p>In eFORMz, the type of atomicity employed can be seen in the Director Toolkit, where files are copied to different names, file extensions are changed or PDFs are created. Here is an example from the configuration tab using DOS commands:<\/p>\n\n\n\n<ul><li>External      command: cmd \/c &#8220;copy &lt;directory>\\&lt;datafilename>.&lt;datafileext>      %0&#8221;<\/li><li>External      command: cmd \/c &#8220;ren %0 *.txtx&#8221;<\/li><\/ul>\n\n\n\n<p>Here the data file is copied to a new file called %0 in own command window. After the copy is completed, the file is renamed with a .txtx. The rename command is \u2018atomic\u2019 in that it occurs immediately, whereas the copy command requires an unknown duration, depending on many factors like bandwidth, cpu speed, file access rates, etc.<\/p>\n\n\n\n<p>Try to consider atomicity when using eFORMz, especially with file age selector, eSubmit, creating PDF files with .hld extensions, renaming of files, among others.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In multi-threaded computer environments, the CPU provides multiple threads of execution concurrently within a single process by sharing resources like memory and files. \u2018Atomicity\u2019 refers to an \u2018atomic transaction\u2019 in databases, which is irreducible and indivisible from other operations. In eFORMz, atomicity is vitally important in a number of processes, features and utilities, because eFORMz [&hellip;]<\/p>\n","protected":false},"author":75,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[85],"tags":[],"_links":{"self":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/7837"}],"collection":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/comments?post=7837"}],"version-history":[{"count":1,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/7837\/revisions"}],"predecessor-version":[{"id":7838,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/7837\/revisions\/7838"}],"wp:attachment":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/media?parent=7837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/categories?post=7837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/tags?post=7837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}