Metaevent handling for on-demand code execution environments
First Claim
1. A computer-implemented method for handling metaevents within an on-demand code execution environment, the on-demand code execution environment comprising at least one virtual machine instance executing an initialized operating system and awaiting requests to execute user-specified code within that operating system, the method comprising:
- as implemented by one or more computing devices configured with specific computer-executable instructions,receiving a request to define a metaevent on the on-demand code execution environment, wherein the metaevent is defined at least partly by satisfaction of a set of metaevent criteria relating to execution of a first set of user-specified code on the on-demand code execution environment, wherein the request specifies the set of metaevent criteria and a job to be executed by the on-demand code execution environment on occurrence of the metaevent by satisfaction of the metaevent criteria, and wherein the job includes execution of a second set of user-specified code, wherein satisfaction of the metaevent criteria requires that execution of the first set of user-specified code has not occurred within a specified time interval on the on-demand code execution environment;
obtaining metadata regarding execution of the first set of user-specified code on the on-demand code execution environment, wherein the metadata regarding the operation of the on-demand code execution environment comprises at least one of;
an indication of execution of the first set of user-specified code detected at the on-demand code execution environment, information regarding queuing a request to execute the first set of user-specified code at the on-demand code execution environment, information regarding timing of execution of the first set of user-specified code, information regarding throttling of execution the first set of user-specified code, or information regarding results or output of execution first set of user-specified code;
analyzing the metadata according to the metaevent criteria to determine that the metadata satisfies the metaevent criteria; and
processing the job at least partly by executing the second set of user-specified code within the initialized operating system of the at least one virtual machine instance.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are described for generating and executing metaevents within an on-demand code execution environment. The code execution environment can include virtual machine instances that are pre-initialized to enable low latency execution of arbitrary user-defined code. Code execution can typically occur in response to a defined event trigger, such as a call to an application programming interface (API) from an external source. Code execution may also occur in response to metadata regarding the operation of the code execution environment. A user may specify criteria for “metaevents” based on the metadata, and also specify code to be executed in response to satisfaction of the criteria. When the code execution environment determines that the user'"'"'s criteria is satisfied, a metaevent may be generated that causes execution of the set of code. This execution may, in turn, generate metadata that triggers one or more metaevents.
-
Citations
18 Claims
-
1. A computer-implemented method for handling metaevents within an on-demand code execution environment, the on-demand code execution environment comprising at least one virtual machine instance executing an initialized operating system and awaiting requests to execute user-specified code within that operating system, the method comprising:
as implemented by one or more computing devices configured with specific computer-executable instructions, receiving a request to define a metaevent on the on-demand code execution environment, wherein the metaevent is defined at least partly by satisfaction of a set of metaevent criteria relating to execution of a first set of user-specified code on the on-demand code execution environment, wherein the request specifies the set of metaevent criteria and a job to be executed by the on-demand code execution environment on occurrence of the metaevent by satisfaction of the metaevent criteria, and wherein the job includes execution of a second set of user-specified code, wherein satisfaction of the metaevent criteria requires that execution of the first set of user-specified code has not occurred within a specified time interval on the on-demand code execution environment; obtaining metadata regarding execution of the first set of user-specified code on the on-demand code execution environment, wherein the metadata regarding the operation of the on-demand code execution environment comprises at least one of;
an indication of execution of the first set of user-specified code detected at the on-demand code execution environment, information regarding queuing a request to execute the first set of user-specified code at the on-demand code execution environment, information regarding timing of execution of the first set of user-specified code, information regarding throttling of execution the first set of user-specified code, or information regarding results or output of execution first set of user-specified code;analyzing the metadata according to the metaevent criteria to determine that the metadata satisfies the metaevent criteria; and processing the job at least partly by executing the second set of user-specified code within the initialized operating system of the at least one virtual machine instance. - View Dependent Claims (2, 3, 4, 5)
-
6. A system for handling metaevents of an on-demand code execution environment, the on-demand code execution environment comprising at least one virtual machine instance executing an initialized operating environment, the system comprising:
a computing device comprising a processor coupled to a memory, the memory including specific instructions to cause the computing system to; obtain a metaevent definition, the definition specifying a set of metaevent criteria and a first set of user-specified code to be executed on satisfaction of the metaevent criteria, wherein the metaevent criteria is based at least in part on execution of a second set of user-specified code on the on-demand code execution environment, wherein satisfaction of the metaevent criteria requires that execution of the second set of user-specified code has not occurred within a specified time interval on the on-demand code execution environment; obtain metadata regarding execution of the second set of user-specified code on the on-demand code execution environment, wherein the metadata regarding the execution of the second set of user-specified code on the on-demand code execution environment comprises at least one of;
an indication of execution of the second set of user-specified code detected at the on-demand code execution environment, information regarding queuing a request to execute the second set of user-specified code at the on-demand code execution environment, information regarding timing of execution of the second set of user-specified code, information regarding throttling of execution the second set of user-specified code, or information regarding results or output of execution second set of user-specified code;analyze the metadata according to the metaevent criteria to determine that the metadata satisfies the metaevent criteria; and execute the first set of user-specified code within the initialized operating environment of the at least one virtual machine instance. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
14. Non-transitory, computer-readable storage media comprising computer-executable instructions for handling metaevents of an on-demand code execution environment, the on-demand code execution environment comprising at least one initialized virtual machine instance, wherein the computer-executable instructions, when executed by a computer system, cause the computer system to:
-
obtain a metaevent definition, the definition specifying a set of metaevent criteria and a first set of user-specified code to be executed on satisfaction of the metaevent criteria, wherein the metaevent criteria is based at least in part on execution of a second set of user-specified code on the on-demand code execution environment, wherein satisfaction of the metaevent criteria requires that execution of the second set of user-specified code has not occurred within a specified time interval on the on-demand code execution environment; obtain metadata regarding execution of a second set of user-specified code on the on-demand code execution environment, wherein the metadata regarding the execution of the second set of user-specified code on the on-demand code execution environment comprises at least one of;
an indication of execution of the second set of user-specified code detected at the on-demand code execution environment, information regarding queuing a request to execute the second set of user-specified code at the on-demand code execution environment, information regarding timing of execution of the second set of user-specified code, information regarding throttling of execution the second set of user-specified code, or information regarding results or output of execution second set of user-specified code;analyze the metadata according to the metaevent criteria to determine that the metadata satisfies the metaevent criteria; and transmit instructions to the on-demand code execution environment to execute the first set of user-specified code on the at least one initialized virtual machine instance. - View Dependent Claims (15, 16, 17, 18)
-
Specification