commands update
This commit is contained in:
parent
a6d0ce16a1
commit
a99d5a9086
1
.gitignore
vendored
1
.gitignore
vendored
@ -373,3 +373,4 @@ FodyWeavers.xsd
|
|||||||
# Local History for Visual Studio Code
|
# Local History for Visual Studio Code
|
||||||
.history/
|
.history/
|
||||||
|
|
||||||
|
franz/nugify.sh
|
||||||
|
26
.vscode/launch.json
vendored
Normal file
26
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
// Use IntelliSense to find out which attributes exist for C# debugging
|
||||||
|
// Use hover for the description of the existing attributes
|
||||||
|
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
||||||
|
"name": ".NET Core Launch (console)",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "launch",
|
||||||
|
"preLaunchTask": "build",
|
||||||
|
// If you have changed target frameworks, make sure to update the program path.
|
||||||
|
"program": "${workspaceFolder}/franz.tests/bin/Debug/net5.0/franz.tests.dll",
|
||||||
|
"args": [],
|
||||||
|
"cwd": "${workspaceFolder}/franz.tests",
|
||||||
|
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
|
||||||
|
"console": "internalConsole",
|
||||||
|
"stopAtEntry": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": ".NET Core Attach",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "attach"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
42
.vscode/tasks.json
vendored
Normal file
42
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "build",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"build",
|
||||||
|
"${workspaceFolder}/franz.tests/franz.tests.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "publish",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"publish",
|
||||||
|
"${workspaceFolder}/franz.tests/franz.tests.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "watch",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"watch",
|
||||||
|
"run",
|
||||||
|
"${workspaceFolder}/franz.tests/franz.tests.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -80,26 +80,25 @@ namespace franz
|
|||||||
|
|
||||||
public void addHandler<T>(Action<T> theAction) where T : silver_messages.message
|
public void addHandler<T>(Action<T> theAction) where T : silver_messages.message
|
||||||
{
|
{
|
||||||
Console.WriteLine($"typeof(T) reports as {typeof(T)}.");
|
|
||||||
var topic = typeof(T).ToString();
|
var topic = typeof(T).ToString();
|
||||||
|
|
||||||
Action<KafkaRecord<string, string>> wrapped = (kr) =>
|
Action<KafkaRecord<string, string>> wrapped = (kr) =>
|
||||||
{
|
{
|
||||||
Console.WriteLine($"wrapped receives kafkarecord, is ready to process: {kr.Value}");
|
|
||||||
var deserialized = JsonConvert.DeserializeObject<T>(kr.Value);
|
var deserialized = JsonConvert.DeserializeObject<T>(kr.Value);
|
||||||
if(deserialized != null && deserialized.type == deserialized.GetType().ToString())
|
if(deserialized != null && deserialized.type == deserialized.GetType().ToString())
|
||||||
{
|
{
|
||||||
Console.WriteLine("message deserialized for this handler");
|
try
|
||||||
theAction(deserialized);
|
{
|
||||||
Console.WriteLine("action survived");
|
theAction(deserialized);
|
||||||
}
|
}
|
||||||
else
|
catch(Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine("message didn't deserialize for this handler");
|
consoleLogger.LogError("if I don't catch this error the whole thing dies so...");
|
||||||
|
consoleLogger.LogError(JsonConvert.SerializeObject(e));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if(!topicConsumers.ContainsKey(typeof(T).ToString())){
|
if(!topicConsumers.ContainsKey(typeof(T).ToString())){
|
||||||
Console.WriteLine($"making consumer for {handling_group}, topic {topic}");
|
|
||||||
topicConsumers[topic] = new KafkaConsumer<string, string>(topic, clusterClient);
|
topicConsumers[topic] = new KafkaConsumer<string, string>(topic, clusterClient);
|
||||||
topicConsumers[topic].ConsumeFromLatest();
|
topicConsumers[topic].ConsumeFromLatest();
|
||||||
topicSubscribers.Add(topic, 0);
|
topicSubscribers.Add(topic, 0);
|
||||||
@ -121,8 +120,8 @@ namespace franz
|
|||||||
|
|
||||||
public void ProduceMessage<T>(T message) where T : silver_messages.message
|
public void ProduceMessage<T>(T message) where T : silver_messages.message
|
||||||
{
|
{
|
||||||
Console.WriteLine($"producing message {message}");
|
|
||||||
clusterClient.Produce(typeof(T).ToString(), message.ToString());
|
clusterClient.Produce(typeof(T).ToString(), message.ToString());
|
||||||
}
|
}
|
||||||
|
public void HiImAFunction(){}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,7 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
<TargetFramework>net5.0</TargetFramework>
|
||||||
<PackageId>silvermeddlists.franz</PackageId>
|
<PackageId>silvermeddlists.franz</PackageId>
|
||||||
<Version>0.0.1</Version>
|
<Version>0.0.2</Version>
|
||||||
<Authors>adam</Authors>
|
<Authors>adam</Authors>
|
||||||
<Company>Silver Meddlists</Company>
|
<Company>Silver Meddlists</Company>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -4,15 +4,18 @@ using silver_messages;
|
|||||||
|
|
||||||
namespace silver_messages.directorial
|
namespace silver_messages.directorial
|
||||||
{
|
{
|
||||||
public class command_completed : silver_messages.message
|
public abstract class command_ended : silver_messages.message
|
||||||
{
|
{
|
||||||
//name of the command that was called
|
//name of the command that was called
|
||||||
public string command { get; set; }
|
public string command { get; set; }
|
||||||
//runtime in ms
|
|
||||||
public uint runtime { get; set; }
|
|
||||||
public string stdout { get; set; }
|
public string stdout { get; set; }
|
||||||
public string stderr { get; set; }
|
public string stderr { get; set; }
|
||||||
public int exit_code { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
public class command_completed : command_ended
|
||||||
|
{
|
||||||
|
public int exit_code { get; set; }
|
||||||
|
public long runtimeMilliseconds { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class command_expired : command_ended {}
|
||||||
|
}
|
@ -1,13 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using silver_messages;
|
|
||||||
namespace silver_messages.directorial
|
|
||||||
{
|
|
||||||
public class command_expired : silver_messages.message
|
|
||||||
{
|
|
||||||
//name of the command that was called
|
|
||||||
public string command { get; set; }
|
|
||||||
//runtime in ms
|
|
||||||
public uint runtime { get; set; }
|
|
||||||
}
|
|
||||||
}
|
|
@ -19,4 +19,3 @@ namespace silver_messages.directorial
|
|||||||
public int timeout { get; set; }
|
public int timeout { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user