get connected to temporal

This commit is contained in:
Grant Limberg 2023-08-29 12:19:28 -07:00
parent 69c590ff81
commit d865c42ef8
No known key found for this signature in database
GPG Key ID: 8F2F97D3BE8D7735
5 changed files with 30 additions and 4 deletions

View File

@ -280,15 +280,21 @@ PostgreSQL::~PostgreSQL()
void PostgreSQL::configureSmee()
{
const char *TEMPORAL_HOST = "ZT_TEMPORAL_HOST";
const char *TEMPORAL_PORT = "ZT_TEMPORAL_PORT";
const char *TEMPORAL_NAMESPACE = "ZT_TEMPORAL_NAMESPACE";
const char *SMEE_TASK_QUEUE = "ZT_SMEE_TASK_QUEUE";
const char *host = getenv(TEMPORAL_HOST);
const char *port = getenv(TEMPORAL_PORT);
const char *ns = getenv(TEMPORAL_NAMESPACE);
const char *task_queue = getenv(SMEE_TASK_QUEUE);
if (host != NULL && ns != NULL && task_queue != NULL) {
this->_smee = smeeclient::smee_client_new(host, ns, task_queue);
if (host != NULL && port != NULL && ns != NULL && task_queue != NULL) {
fprintf(stderr, "creating smee client\n");
std::string hostPort = std::string(host) + std::string(":") + std::string(port);
this->_smee = smeeclient::smee_client_new(hostPort.c_str(), ns, task_queue);
} else {
fprintf(stderr, "Smee client not configured\n");
}
}
@ -1426,6 +1432,13 @@ void PostgreSQL::commitThread()
if (_smee != NULL && isNewMember) {
notifyNewMember(networkId, memberId);
} else {
if (_smee == NULL) {
fprintf(stderr, "smee is NULL\n");
}
if (!isNewMember) {
fprintf(stderr, "nt a new member\n");
}
}
const uint64_t nwidInt = OSUtils::jsonIntHex(config["nwid"], 0ULL);

View File

@ -11,4 +11,5 @@ RUN apt -y install \
binutils \
linux-tools-gke \
perf-tools-unstable \
google-perftools
google-perftools \
netcat

View File

@ -100,6 +100,13 @@ else
done
fi
echo "Waiting for temporal"
while ! nc -z ${ZT_TEMPORAL_HOST} ${ZTC_TEMPORAL_PORT}; do
echo "waiting...";
sleep 1;
done
echo "Temporal is up"
export GLIBCXX_FORCE_NEW=1
export GLIBCPP_FORCE_NEW=1
export LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libjemalloc.so.2"

View File

@ -99,6 +99,9 @@ pub extern "C" fn smee_client_notify_network_joined(
match smee.notify_network_joined(params) {
Ok(()) => true,
Err(_) => false,
Err(e) => {
println!("error notifying network joined: {0}", e.to_string());
false
}
}
}

View File

@ -80,6 +80,7 @@ impl SmeeClient {
}
pub fn notify_network_joined(&self, params: NetworkJoinedParams) -> Result<(), Box<dyn std::error::Error>> {
println!("notifying network joined");
let options = WorkflowOptions {
id_reuse_policy: WorkflowIdReusePolicy::RejectDuplicate,
execution_timeout: None,
@ -94,6 +95,7 @@ impl SmeeClient {
let workflow_id = Uuid::new_v4();
self.tokio_rt.block_on(async {
println!("calilng start_workflow");
self.client
.start_workflow(
payload,