Function run priority
v3.2.1+

You can prioritize specific function runs above other runs within the same function.

See the Priority guide for more information about how this feature works.

export default inngest.createFunction(
  {
    id: "ai-generate-summary",
    priority: {
      // For enterprise accounts, a given function run will be prioritized
      // ahead of functions that were enqueued up to 120 seconds ago.
      // For all other accounts, the function will run with no priority.
      run: "event.data.account_type == 'enterprise' ? 120 : 0",
    },
  },
  { event: "ai/summary.requested" },
  async ({ event, step }) => {
    // This function will be prioritized based on the account type
  }
);

Configuration

  • Name
    priority
    Type
    object
    Required
    optional
    Description

    Options to configure how to prioritize functions

    Properties
    • Name
      run
      Type
      string
      Required
      optional
      Description

      An expression which must return an integer between -600 and 600 (by default), with higher return values resulting in a higher priority.

      Expressions are defined using the Common Expression Language (CEL) with the original event accessible using dot-notation. Read our guide to writing expressions for more info. Examples:

      • Return the priority within an event directly: event.data.priority (where event.data.priority is an int within your account's range)
      • Prioritize by a string field: event.data.plan == 'enterprise' ? 180 : 0

Return values outside of your account's range (by default, -600 to 600) will automatically be clipped to your max bounds.

An invalid expression will evaluate to 0, as in "no priority".