Comments (9)
To me, an event like PipelineRunRequested (or maybe PipelineRunTriggered) could be added, which would mean that a pipeline execution has been put in a queue for execution. It sounds to me that what you're after is not really a queuing event, but an event that a pipeline executor would listen to to trigger a pipeline execution. I'd say that a pipeline execution could be triggered by multiple different events. Very common would be the source (created/reviewed/merged) events, but also the artifact published and service deployed events for example.
We can discuss this on the vocabulary meeting later today.
from spec.
@e-backmark-ericsson did you manage to discuss this with the group? unfortunately, I couldn't join last week.
Is there any chance for us to do a quick discussion on this ad-hoc from that bi-weekly meeting?
from spec.
We have a PipelineRunQueued
event already, which means that a PipelineRun
has been requested but it did not start executed yet - it may be waiting on scheduling or in general resource availability.
Note that this event is generated by the pipeline orchestration engine, not by the system that would like the pipeline run to be executed.
We discussed in the past about declarative vs. imperative events (see my comment in cdfoundation/sig-events#107 (comment) also) and my understanding is that we settled for declarative events, where events are sent by a system to describe something that happens, as opposed to imperative events where a system sends an event to another one asking for something to be done.
With declarative events, if a system completes task1, it will send an event. Any system may react to that event by performing its own task2.
from spec.
Looking at the CloudEvents spec https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#terminology
An "event" is a data record expressing an occurrence and its context. ...
and
An "occurrence" is the capture of a statement of fact during the operation of a software system. This might occur because of a signal raised by the system or a signal being observed by the system, because of a state change, because of a timer elapsing, or any other noteworthy activity. ...
To me a Requested
sounds like a command and would not fit with description here. It would probably also need a receiver or should all pipelines trigger on it?
My main concern with adding such events is that we enable to create a more coupled system and to me the point of events is to create a decouple system.
from spec.
I agree to what both Andrea and Mattias wrote. @salaboy , are we misinterpreting your need?
from spec.
@salaboy , based on the discussion we just had on the meetup. Could you elaborate on the use case a bit more to clarify what is missing from a "queued" event, that we already have a bunch of in the specification? I do see that it would be beneficial that both Queued, Started and Finished events are sent from the same source, but to me that should not be mandatory, as long as the events sent are descriptive rather than prescriptive.
from spec.
When trying to understand your use case, @salaboy , I drew this picture. Does it somewhat correspond to what you're after? If so, is it the "RequestDeployment" event you're missing?
from spec.
@salaboy should we close this now, or is this something you're still interested into?
from spec.
Closing this issue, since no reply on it in a long time. If it is still relevant, please open a new issue about it.
from spec.
Related Issues (20)
- Removed and upgraded predicates for service, removal consideration? HOT 3
- We are missing the version part in some of our event examples
- Consider adding artifact.quarantined
- The 'deleted' predicate is not mentioned in the lineup for artifact events
- Ensure consistency amont camel case vs snake case
- Shall we remove the `Run` part from pipeline, task and run events? HOT 2
- Validate schemas towards the JSON metaschema HOT 1
- Link's schema looks to be missing property field HOT 1
- Links not added for new testcase and ticket events in v0.4.0 HOT 2
- Link's ref path needs an update for all the event schemas HOT 6
- Links not added in spec/examples HOT 3
- Instructions on how to use links(external and embedded) for different SDKs HOT 2
- Replace absolute path by relative path in $ref HOT 1
- remove confusing type `Enum or String` HOT 25
- Links are missing in the custom schema
- Rename the "examples" folder so that it's clear it's for validation purposes
- Improvements on automated release
- Linters are only ran on main HOT 2
- How to integrate custom schemaUri for SDKs HOT 1
- Standardizing `outcome` type and values in doc, schema, and examples HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spec.