- I think we can get rid of filling the
path
field when declaring application and workflow, since we have a hierarchy of Application -> Workflow -> Tasks, Application -> Generators, the path can just be concatenated from names, e.g. {app.name}/{wf.name}/{task.name}, we can fill this field automatically when callingsystem.launch(app)
. With same reason, I think we don't need to fill thename
field when creatingAtomicStream
, since it can be infered bypath.split('/')[-1]
- What is the Application.streams used for? To me, this field stores duplicated information stored at
Application.workflows[i].consumes
andApplication.workflows[i].stream
- Tell me if my understanding is correct, in
ApplicationTest
we have only one source (with no AtomicStream passed to it) and one generator, I can implicitly bind them whensystem.launch
. If we have multiple sources,workflow.consumes
will be likeAtomicStreamRef[(T1, T2)]
, and a splitter will exist to tranform it toAtomicStreamRef[T1]
and `AtomicS
This file contains 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
7B76313B70726F3BE5BDAC20E585B33B313B73796E313333323040676D61696C2E636F6D3B3B3B7D |
This file contains 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
import co.elastic.clients.elasticsearch.ElasticsearchClient; | |
import co.elastic.clients.elasticsearch._types.Result; | |
import co.elastic.clients.elasticsearch.core.*; | |
import co.elastic.clients.elasticsearch.core.search.Hit; | |
import co.elastic.clients.elasticsearch.indices.GetIndexRequest; | |
import co.elastic.clients.elasticsearch.indices.GetIndexResponse; | |
import co.elastic.clients.json.jackson.JacksonJsonpMapper; | |
import co.elastic.clients.transport.ElasticsearchTransport; | |
import co.elastic.clients.transport.rest_client.RestClientTransport; | |
import org.apache.http.HttpHost; |
This file contains 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
Markdown 3 hrs 18 mins ██████████████▎░░░░░░ 68.0% | |
Python 1 hr 14 mins █████▍░░░░░░░░░░░░░░░ 25.7% | |
YAML 11 mins ▊░░░░░░░░░░░░░░░░░░░░ 3.8% | |
Other 7 mins ▌░░░░░░░░░░░░░░░░░░░░ 2.4% | |
JSON 0 secs ░░░░░░░░░░░░░░░░░░░░░ 0.1% |
This file contains 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
package io.github.vicety; | |
import java.util.ArrayList; | |
import java.util.List; | |
import java.util.concurrent.Flow; | |
import java.util.concurrent.SubmissionPublisher; | |
import java.util.function.Function; | |
public class Main { |
This file contains 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
package pods.workflows.examples | |
/** Multiple Producer Multiple Subscriber Event Count | |
* | |
* This example counts the event number from multiple upstream producers, which | |
* concurrently emit events to multiple downstream subscribers. This example | |
* can also be used as a test to show event handling for each processor is | |
* serial in our runtime. | |
*/ | |
@main def MultiProducerExample() = |
This file contains 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
import requests | |
import os | |
import json | |
import socket | |
import sys | |
# To set your enviornment variables in your terminal run the following line: | |
# export 'BEARER_TOKEN'='<your_bearer_token>' | |
bearer_token = os.environ.get("BEARER_TOKEN") |
This file contains 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
package portals.examples | |
import java.util.concurrent.LinkedBlockingQueue | |
import scala.annotation.experimental | |
import portals.api.builder.ApplicationBuilder | |
import portals.api.builder.TaskBuilder | |
import portals.application.task.PerKeyState | |
import portals.application.task.PerTaskState |
This file contains 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
import example.udf.UDF; | |
import org.apache.calcite.DataContext; | |
import org.apache.calcite.adapter.enumerable.EnumerableConvention; | |
import org.apache.calcite.adapter.enumerable.EnumerableInterpretable; | |
import org.apache.calcite.adapter.enumerable.EnumerableRel; | |
import org.apache.calcite.adapter.enumerable.EnumerableRules; | |
import org.apache.calcite.adapter.java.JavaTypeFactory; | |
import org.apache.calcite.config.CalciteConnectionConfig; | |
import org.apache.calcite.config.CalciteConnectionConfigImpl; |