[Function update] Generate source code asynchronous download, so that the system response speed is increased by 10 times

Synchronous and asynchronous, as the basis for further mastering high-performance and high-concurrency technologies, are very critical, so I think it is necessary to help you sort out the meaning behind the two words.

 

picture

 

Let's start with a work scenario that programmers are all too familiar with.

On the first day, the boss gave you a task~

Suppose now that the boss assigns you a very urgent and very important task, which you must complete before leaving get off work (evil capitalism). In order to supervise the progress, the boss moved a chair and sat on the side watching you write code.

You must have cursed in your heart, "WTF, are you so free? Wait for me? Can't you go do something else?"

The boss seems to have received your brainwaves: "I'll just wait here, I won't go anywhere, and I won't go to the toilet until you finish writing."

picture

 

In this example, after the boss gives you the task , he waits all the time and does nothing until you finish writing . This scenario is called synchronization.

The next day, the boss gave you another task.

But this time I am not so anxious, this time the boss said lightly, "It's okay, young man, you can work hard for another year, and next year I will be financially free. Don't worry about today's task. Just let me know after you finish writing it." ".

This time the boss didn't stare at you writing the code, but turned around and watched the video. After you finished writing, simply report to the boss "I'm done writing".

picture

 

In this example, the boss no longer waits to do nothing after explaining the task, but goes to other things. After you complete the task, you simply tell the boss that the task is completed. This is the so-called asynchronous.

We can see that the word synchronization is often related to keywords such as "dependence", "association", and "waiting" of tasks, while asynchrony is often related to tasks such as "not dependent", "unrelated", "no need to wait", and "simultaneously". Occurrence" and other keywords are related. Therefore, from the perspective of system performance, such a design can make full use of system resources and process requests more quickly; from the perspective of users, the system will respond more quickly. This is the efficiency of asynchrony.

In this issue, the product is updated, the generated source code is optimized and changed to asynchronous download and other functions, let’s take a look together!

1. Optimize the generated source code and change it to asynchronous download

Basic overview: Optimize the asynchronous download of the generated source code. After clicking Generate Source Code Package, the source code package will be generated asynchronously, and then you can view the generation status in the source code record. After the generation is successful, you can directly download the source code package; if the generation fails, you can view the reason for the generation failure.

 Operation example:

Step 1: Click the "Settings button > Generate source code" on the project card.                              

picture

 

Step 2: In the second prompt box, select "Whether to carry the JAR package", and then click "OK".

picture

Step 3: "Settings button > Source code record" on the single project card.

picture

Step 4: You can view the generation status in the source code record list, and you can choose to download the source code package after the generation is complete.

picture

 

 

Note: When the generation fails, you can click "Details" in the operation bar to view the reason for the failure.

 

2. Optimize process execution trajectory variable display

Basic overview: Display the detailed information of the optimization process execution track. Not only can you view the detailed information of the current component, but you can also view the information of other components in the same process; at the same time, the system variable information is classified into entry parameters, local variables, configuration group parameters, and Basic parameters, etc., make the process track information clearer, and facilitate users to quickly view the execution results of components and the values ​​​​of variables.

 Operation example:

Step 1: On the interface management page, select an interface and click "Menu > Test Case".

picture

Step 2: On the test case page, select a test case and click Execute.

picture

Step 3: In the details of the executed test case, click "Process Execution Track".

picture

Step 4: In the process track, double-click "any component".

picture

Step 5: Check the current component, other components, system variables and other information.

picture

 

3. Optimize and modify the SQL has been used to give a hint

Basic overview: When the SQL information is referenced by the interface, a prompt will pop up after saving the modified SQL information, and the SQL information needs to be re-selected in the interface to take effect. When the SQL information is deleted, the interface that has been referenced will be displayed. It can only be deleted after the reference is removed.

 Operation example:

Step 1: On the interface management page, create a new interface that references SQL.

picture

picture

Step 2: Click "SQL Management".

picture

Step 3: Select the SQL referenced by the interface, and click Edit.

picture

Step 4: Click "Save" after modifying the SQL information, and a prompt pops up that the SQL is quoted and asks whether to save the modification.

picture

Step 5: Click Delete, and a prompt will pop up indicating that SQL is referenced and cannot be deleted.

 

picture

 

 

4. Optimize the system function jar package and define it as an extended jar package

Basic overview: In order to optimize the size of the execution engine package, the platform defines some system functions as jar packages of system functions. When these functions need to be used, the system functions can only be used after the extended jar package in the add-on loads the system function jar package , the following system function

"SysFun_Feidai_Base64Utils【Base64Utils】" as an example.

 Operation example:

Step 1: Select an item, click "Settings button > Add-ons".

picture

Step 2: On the project add-ons page, click "Extended jar package" and select the system function dependency package

"flow-bcprov【groupId:com.feisuanyz.flow.extend】" and click "Load Application".

picture

Step 3: Enter the project, select an interface in the interface management, and click "Enter flowchart editing".

picture

Step 4: On the flowchart editing page, drag a "single function" component and an "output result component" to the right canvas and connect the flowchart.

picture

Step 5: Select the "Single Function" component, and click "Enter Single Function Information" on the right.

picture

Step 6: At this time, in the function list, you can select the system function that has loaded the function dependent jar package, and click "OK" after the selection is completed.

picture

Step 7: After configuring the output result component information, click the "Save and Exit" flowchart.

picture

 

5. The dependent JAR of the optimization operation and maintenance API is not imported by default, only when it is enabled

 

Basic overview: The platform provides an extended jar package for monitoring and detection. When the local client and execution engine use the indicator monitoring interface, you need to download the specified extended jar package and then execute the indicator monitoring interface to monitor the data.

 Operation example:

Step 1: Enter the (backend) fully automatic development platform, click the "Download button > Extended jar package" in the upper right corner.

picture

Step 2: In the historical version list of the extended jar package, click "Download" to monitor and detect the extended jar package.

picture

Step 3: Decompress the downloaded monitoring and detection extension jar package and put it into the extjar folder of the local client of the backend platform or the execution engine.

picture

 

Note: For details on downloading and using the local client, see the "(Backend) Fully Automatic Development Platform/Commercial Client" section of the document.

Step 4: Create an application.yml file and place it in the same directory as the feisuanyz-local-engine.jar file and configure the following information to control whether all projects in the execution engine report monitoring information.

metrics-report:

enable: true

picture

Step 5: Click "startup" to start the local client.

picture

Step 6: In the local client project, create a new interface that enables indicator monitoring and reporting.

picture

 

 

Note: For details on how to create an indicator monitoring and reporting interface, see the document "(Backend) Fully Automatic Development Platform / Operation Guide / 13 Interface Management / 3 Integrated Monitoring Interface / ".

Step 7: After executing the interface, enter the address of monitoring and reporting data to view the data collected by monitoring.

picture

 

6. Optimize the timing task jar package and define it as an extended jar package

Basic overview: The execution engine package downloaded on the platform no longer contains the jar package of the scheduled task. The jar package of the scheduled task has been classified into the extended jar package. When adding a scheduled task, the system will automatically load the jar package of the scheduled task. Users can also manually add in advance in the add-on, and the jar package of the scheduled task will follow in the project deployment package.

 Operation example:

Step 1: Enter the project, click "Scheduled Task", select the scheduled task module, and click "+ > New Scheduled Task".

picture

Step 2: On the new scheduled task page, fill in the scheduled task information, and click "Submit" after completion.

picture

Note: For details on timing task operations, see the document "(Backend) Fully Automatic Development Platform / Operation Guide / 19 Timing Tasks".

Step 3: Return to the project management page, click the project "Settings button > Add-ons".

picture

Step 4: On the project add-ons page, click "Extended jar package". At this time, you can see that after adding a scheduled task, the system automatically loads the scheduled task extension package " flow-job [groupId:com.feisuanyz.flow.extend 】".

picture

 

Note: When the scheduled task record exists, the loaded scheduled task extension jar package cannot be canceled.

That's all for this update.

Interested friends can apply for a free trial~

Application link: http://feisuanyz.mikecrm.com/9dW4GeZ

Graduates of the National People’s University stole the information of all students in the school to build a beauty scoring website, and have been criminally detained. The new Windows version of QQ based on the NT architecture is officially released. The United States will restrict China’s use of Amazon, Microsoft and other cloud services that provide training AI models . Open source projects announced to stop function development LeaferJS , the highest-paid technical position in 2023, released: Visual Studio Code 1.80, an open source and powerful 2D graphics library , supports terminal image functions . The number of Threads registrations has exceeded 30 million. "Change" deepin adopts Asahi Linux to adapt to Apple M1 database ranking in July: Oracle surges, opening up the score again
{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4868096/blog/10087095