private void OnReceiveData(object obj, ReceivedData cmd) { SafeInvokeAsync(cmdHandlers, h => h((byte)cmd.Command, cmd.Channel, cmd.DataFormat, cmd.Data1, cmd.Data2, cmd.Data3, cmd.Data4)); scripts.EmitScriptEvent( "noolite:data:received", (byte)cmd.Command, cmd.Channel, cmd.DataFormat, cmd.Data1, cmd.Data2, cmd.Data3, cmd.Data4); }
private async Task client_ApplicationMessageReceived(MqttApplicationMessageReceivedEventArgs e) { var msg = e.ApplicationMessage; var payload = Encoding.UTF8.GetString(msg.Payload); Logger.LogDebug($"topic: {msg.Topic}, payload: {payload}, qos: {msg.QualityOfServiceLevel}, retain: {msg.Retain}"); // events await SafeInvokeAsync(handlers, h => h(msg.Topic, msg.Payload)); scripts.EmitScriptEvent("mqtt:message:received", msg.Topic, new Buffer(msg.Payload)); }
public void OnTimerElapsed(DateTime now) { lock (lockObject) { LoadTasks(); var from = now.AddMinutes(-ACTIVE_PERIOD); var min = lastEventTime <= from ? from : lastEventTime; var active = schedule .Where(t => t.IsActive(min, now)) .ToArray(); if (active.Any()) { lastEventTime = now; using (var session = database.OpenSession()) { foreach (var task in active) { Logger.LogInformation($"cron task started: {task.TaskId}"); if (!string.IsNullOrEmpty(task.EventAlias)) { scripts.EmitScriptEvent(session, task.EventAlias); } SafeInvokeAsync(handlers, h => h(task.TaskId)); scripts.EmitScriptEvent(session, "cron:task:started", task.TaskId); } } } } }
public HttpHandlerResult TmpHandlerMethod(HttpRequestParams requestParams) { scripts.EmitScriptEvent("mimi", 1, 2, 3, "GUID-111"); return(null); }