Tips to Perform Real Time Execution
In This Topic
In real time execution, we provide a mechanism that takes maximum security into consideration regarding communication and runtime authentication that occurs during use. However, this is not the case if the URL used for real time execution is leaked. Hence, you are requested to administer the real time execution URL strictly at your own risk.
URL Leak and Risk
If a real time execution URL is leaked, a malicious attacker could execute the data editing flow. In that case, the attacker can register, update or delete records of app set in the Output App command with the content not intended by the customer.
* Attackers cannot get the records. Therefore, your business data will never be leaked.
The attacker can also execute the target real time execution at a timing and frequency not intended by the customer, so that the same real time execution can be executed in large numbers. To provide a stable performance to customers, krewData puts a limit on a particular real time execution to 5 times per minute. If it is maliciously executed more than the specified limit, then that real time execution is disabled appropriately for business use.
Detect Misuse
krewData provides a mechanism to detect when same real time execution is performed many times. Every time real time execution is performed, the execution logs are output to an app specified by the customer. The case of mass execution is also output as records to the log app, and notification is sent to the administrator registered in user information of krewData.
- When executed more than 5 times in a minute
With every execution, you are notified by generating a log specifying that maximum limit of executions per minute has exceeded.
- When requests exceeding the upper limit occur frequently within a certain period of time
krewData considers it as an excessive request and automatically disables the corresponding real time execution. This event is also notified in logs. You cannot call the disabled real time execution URL and no logs are generated after that.
Measures in the Event of Misuse
If there is a risk of leakage or if the administrator actually detects the misuse, disable the relevant real time execution or regenerate the real time execution URL.
Note that krewData does not provide feature to restore records which were misused or unintentionally registered, updated or deleted to the state before the misuse.
Limitations
This topic discusses about the limitations of real time execution.
Number of Executions Per Minute
In real time execution, all the data editing flows in the execution unit are locked at the time of execution to prevent calling of the same execution unit by other real time execution (exclusive control). There is an upper limit to the number of executions per minute in the same execution unit.
If Allow Concurrency is set in the execution unit settings, execution requests beyond abovementioned limit will wait for execution. There is an upper limit to the waiting time, and a timeout error occurs after a certain period of time.
If Allow Concurrency is not set in the execution unit settings and a user executes the execution unit which is already running, an error is thrown immediately and execution is not performed.
For information regarding exclusive control, see "Exclusive Control" section in Executing Execution Unit.
Number of Processed Records
There is an upper limit on number of records that the Input App command can load from kintone app while executing the data editing flows.
- Evaluation Version: 10,000 records
- Product Version
- Manual execution: 10,000 records
- Schedule execution: 10,000 records
※ If multiple Input App commands are placed in a data editing flow, the total number of records in each app are counted as processed records.
※ The abovementioned upper limit is also applicable when creating records in a kintone app using the Output App command.
You can check the number of records that a data editing flow loads from a kintone app in
Flow Setting tab of the
Plug-in Settings page. In addition, you can check the number of records that were actually processed on executing a data editing flow in the
Real Time Execution tab of the
Plug-in Settings page or in execution logs of the
log output app.
Number of Records that can be Generated Simultaneously
Maximum number of records that can be generated simultaneously if there are multiple executions units running at a time:
Example) If there are 3 execution units running at the same time:
- Execution Unit 1 - Flow A(Output record count: 10,000)
- Execution Unit 2 - Flow B(Output record count: 10,000)
- Execution Unit 3 - Flow C(Output record count: 10,000)
As total of output records in Execution Unit 1 and Execution Unit 2 reaches the maximum limit (20,000 records), Flow C of the Execution Unit 3 will wait and generate the records after process of Execution Unit 1 and Execution Unit 2 has completed.
Execute Simultaneously with Schedule Execution
If data editing flow of a schedule execution is running in the same domain environment, data editing flow of real time execution is not executed. When data editing flow of real time execution is requested to execute, it waits and starts after the schedule execution has completed.
See Also