Greetings I’m on a quest to persuade 4D to adopt a more useful implementation of preemptive processing than they are currently adopting. Please answer questions #1 and #2 below if you can.
CURRENT RESTRICTIONS to using preemptive processes (up through the upcoming release of v16): 1: Any method that uses any restricted items cannot be called preemptively. Restricted items include: A: Interprocess variables B: Plugins C: Various 4D commands D: Any component method that is not Preemptive save 2: No method that calls any other method that has restricted items can be called preemptively 3: Any method that saves records via pointers to a table is restricted (If you have any Table Trigger in the whole database that has any restricted items (as listed in #1 or #2)) Example: SAVE RECORD($MyTable->) QUESTION #1 In light of the current restrictions, how likely are you to leverage the use of Preemptive Processing in the near future? NOT LIKELY / SOMEWHAT LIKELY / VERY LIKELY YOUR COMMENTS: IF your answer to #1 is “NO” , then consider this alternate implementation. TONY’S PROPOSED ALTERNATE STRATEGY: 1: Each Preemptive worker process should have it’s own complete instantiation of IP Variables; similar to it’s set of Process variables. The scope and lifespan of those IP variables would be limited to that worker process, and that worker process only. It would be up to the developer to populate those IP variables, or do with them as he wishes. As a ~possible~ option to this: perhaps we could have an option parameter to indicate to 4D to copy all IP variables from the current process to the new worker process 2: IP variables would then become a non-restricted item, and can be freely used in Preemptive processes. 3: 4D should NOT prohibit the use of methods in Preemptive processes based on any content therein; however, at runtime, if a method actually executes a prohibited command or pluggin: 4D would generate an error. So, you could code like: IF($InPreemptive_b) `Do something safe for Preemptive ELSE `Use some command that is NOT Preemptive compliant END IF QUESTION #2 If this strategy was implemented, how likely would you be to leverage the use of Preemptive Processing in your applications? I appreciate your feedback in this Thanks! Tony Ringsmuth ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************