Releases: Jet-Engine/callysto
Releases · Jet-Engine/callysto
v0.1.9
What's Changed
- Use latest nuclei by @vertexclique in #86
- Add topic_with_config by @vertexclique in #87
Full Changelog: v0.1.8...v0.1.9
v0.1.8
What's Changed
- Config import by @vertexclique in #79
- Implement manual commit by @vertexclique in #80
- Update dependencies-non-major by @renovate in #70
- Update dependencies-non-major by @renovate in #81
- tracing: remove subscriber init from inside app by @ansrivas in #84
- Fix examples by @vertexclique in #85
Full Changelog: v0.1.6...v0.1.8
v0.1.7
This release contains manual commit mechanism inside agents.
async fn manual_commit_counter_agent(mut stream: CStream, ctx: Context<SharedState>) -> Result<()> {
while let Some(msg) = stream.next().await {
let m = msg.unwrap();
// Read the incoming bytes as string
let strm = m.payload_view::<str>().unwrap().unwrap().to_owned();
println!("Received payload: `{}`", strm);
// Increment message counter and print it.
// Show how you can store an application state.
let state = ctx.state();
let msgcount = state.value.fetch_add(1, Ordering::AcqRel);
println!("Message count: `{}`", msgcount);
// We are done here.
ctx.commit_async(m).await?;
}
Ok(())
}
v0.1.6: Amalthea
This release contains PostgresSink can be used like:
stream
.enumerate()
.map(|(idx, m)| {
m.map(|e| {
let doc = SpotifyDocument::new(e.payload_view::<str>().unwrap().unwrap().into());
println!("Processing document ID: {}", idx);
let query = "INSERT INTO
spotify (song_url)
VALUES ($1)";
CPostgresRow::new(query.into(), vec![doc.song_url])
})
.ok_or(CallystoError::GeneralError("No payload".into()))
})
.forward(
CPostgresSink::new("postgres://testuser:testpassword@localhost/testdb", 4, 0).unwrap(),
)
.await?;
v0.1.5
0.1.3: Titan
This release includes:
- Agent (Kafka Streams consumer)
- Table Agent (WAL backed distributed Agent)
- Timers (scheduled tasks)
- Task (single one-off tasks)
- InMemory and Rocksdb backed storage.