-
Notifications
You must be signed in to change notification settings - Fork 4
Use start_after for Harness template startup ordering #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: iii-hq/templates
Length of output: 4243
🏁 Script executed:
Repository: iii-hq/templates
Length of output: 13899
🌐 Web query:
"start_after" "worker-compose.yaml" iii💡 Result:
There is no standard Docker Compose configuration parameter named start_after [1-10]. Docker Compose uses the depends_on field to manage service startup dependencies, often combined with condition: service_started or condition: service_healthy [1][2]. The term start_after appears in other technical contexts, but not as a native Docker Compose YAML directive: 1. ZenML Pipelines: In ZenML, start_after is a parameter used in dynamic pipelines to control step execution order [2]. It allows a step to begin as soon as an upstream step has launched (rather than waiting for it to finish) [2]. 2. Custom Scripts: The term may appear in user-created shell scripts or environment variables used to automate or wrap Docker Compose commands (e.g., as a variable named START_AFTER used to conditionally trigger a docker compose up command) [3][4][5]. 3. Data Configuration: In some database change stream or job queue configurations (like MongoDB connectors or the pg-boss library), start_after is a valid configuration field used to specify a starting point or time for processing jobs [6][7][1]. If you encountered start_after in a worker-compose.yaml file, it is likely a custom variable used by a wrapper script, a third-party application configuration, or a misunderstanding of standard Docker Compose syntax [3][4][2].
Citations:
🌐 Web query:
"start_after" compose worker package://harness console💡 Result:
Based on your query, there appears to be a conflation of different technologies. The term "Harness" refers to the Harness software delivery platform [1], which provides a console for viewing pipeline execution logs and searching them [2], but it does not use a "start_after" parameter within a "compose worker" context as a native configuration pattern for its pipelines [2][3]. The specific syntax
start_afteris commonly used in various workflow orchestration and automation frameworks to manage step or job dependencies [4][5][6]: 1. ZenML: Supportsstart_after=...as a parameter when calling steps in dynamic pipelines to control execution ordering (e.g., waiting for an upstream step to launch) [4][7]. 2. Dagster: Often uses dependency patterns or orchestrator configurations to chain operations [6][8]. 3. Concourse: Usesstart_afterin itstime-resourceto specify the earliest datetime for version creation [5]. 4. Agent Framework (Microsoft): Includes sample console projects (e.g.,HarnessConsole) that allow running agents, wherepackage://style references or similar module imports might appear in specific language-specific implementations (e.g., Python or.NET) [9]. If you are trying to implement a specific workflow, please clarify whether you are using ZenML [4][7], Dagster [6], or the Microsoft Agent Framework [9], as these systems possess distinct configuration methods and are not part of the Harness CI/CD platform [2][1].Citations:
🏁 Script executed:
Repository: iii-hq/templates
Length of output: 3077
🌐 Web query:
site:iii.dev/docs/next/using-iii/compose "start_after"💡 Result:
No
start_afterentry appears in the currentcompose.mdxdocumentation. The supported startup-order field isdepends_on, which starts listed containers first; readiness is controlled bystartup_timeout. [1] (raw.githubusercontent.com)Citations:
🌐 Web query:
site:github.com/iii-hq "start_after"💡 Result:
In technical computing and API design, start_after is a common parameter used to implement cursor-based pagination [1][2]. It allows a caller to request a set of results that begin immediately following a specific record or item, effectively creating a stateless way to traverse large datasets without the performance pitfalls of traditional offset-based pagination [1][3]. While the term start_after is widely understood in database and API contexts (such as Google Cloud Firestore), in the specific iii-hq/workers codebase examined, pagination is handled using an opaque cursor parameter [1][3][2]. Key characteristics of this pattern include: 1. Deterministic Traversal: By providing a cursor, the API identifies the last item of the previous page to ensure the next page begins precisely at the correct point [3][2]. 2. Performance and Consistency: This method avoids performance degradation as the dataset grows and prevents potential issues like skipping or repeating items if data is modified during traversal [3][2]. 3. Implementation: In systems using this approach, the API response typically includes a list of items and a next_cursor value [4][5][2]. Clients pass this cursor back into subsequent requests to retrieve the next chunk of data [4][5]. If you are encountering start_after in other systems (such as Firestore), it functions as a query modifier that tells the database to return documents that come after a specified document in the result set. This is often used in conjunction with order_by to maintain a consistent sequence across pages.
Citations:
Use the supported startup-order field.
The iii compose contract defines
depends_onfor startup ordering and does not definestart_after. Replacestart_afterwithdepends_on, and omitconsoleto preserve the documented Tier 4harnessbefore Tier 5consoleorder.🤖 Prompt for AI Agents