rebus-org / rebus.azurestorage Goto Github PK
View Code? Open in Web Editor NEW:x: DEPRECATED :bus: Azure Storage transport, databus storage, etc. for Rebus
Home Page: https://mookid.dk/category/rebus
License: Other
:x: DEPRECATED :bus: Azure Storage transport, databus storage, etc. for Rebus
Home Page: https://mookid.dk/category/rebus
License: Other
Will this be upgraded to Rebus 4.0 ?
Hello! I would like to see Azure Storage saga persistence support for Rebus. It seems the only support right now is for auditing, not for "real" Sagas? I have modified an implementation (https://github.com/rebus-org/Rebus/tree/d0f1ad04ce66612d93a5cb034b8923c15797c136/Rebus.AzureStorage/Sagas) to support this and also found it to work very well. I have added concurrency support, for example. I'd like to do share this implementation, but I see that this repos is to be deprecated... How come? As I understand it will be difficult to add Saga support in the Azure Blobs repo or in the Azure Queues repos as we need both table and blob support to cover the need.
//Peter
When creating a nuget that depends on rebus.azurestorage 3.0.0-b02 we get the message: "A stable release of a package should not have a prerelease dependency. Either modify the version spec of dependency "Rebus.AzureStorage [3.0.0-b02, )" or update the version field in the nuspec".
Of course we can work around this, but a stable release (3.0, or 4.0...) would be much appreciated. Is that possible, or what's the hold back?
Hi,
Our situation is like this:
From time to time we have an exception:
Microsoft.Azure.Storage.StorageException: The condition specified using HTTP conditional header(s) is not met.
at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
at Microsoft.Azure.Storage.Blob.BlobReadStream.DispatchReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
at Microsoft.Azure.Storage.Blob.BlobReadStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.Stream.CopyTo(Stream destination, Int32 bufferSize)
Return status is 412 and message is landing in error queue.
What do you think about that?
Kind Regards,
Piotr Balas
In commit 1862883, line 38 of Rebus.AzureStorage/AzureStorage/Transport/AzureStorageQueuesTransport.cs introduced a static OperationContext. When Rebus is used in a long running service (such as a ServiceFabric service) with a DI container using Rebus.AutoFac or Rebus.ServiceProvider, this results in an ever-growing OperationContext that grows to several GB over a week or two. In our case this caused the ServiceFabric cluster to become unresponsive and eventually die. We had to rollback to 4.1.0 to resolve the issue.
Is there a reason why sagastorage support was removed?
Hallo There,
I am trying to implement Rebus that uses azure storage queues with no luck.
I have integrated it into my worker and it seems like the handler are not being executed on message received.
The warning im getting:
warn: Rebus.Workers.ThreadPoolBased.ThreadPoolWorker[0]
An error occurred when attempting to receive the next message: System.MissingMethodException: Method not found: 'Void Rebus.Transport.ITransactionContext.OnCompleted(System.Func`1<System.Threading.Tasks.Task>)'.
at Rebus.AzureStorage.Transport.AzureStorageQueuesTransport.SetUpCompletion(ITransactionContext context, CloudQueueMessage cloudQueueMessage, CloudQueue inputQueue)
at Rebus.AzureStorage.Transport.AzureStorageQueuesTransport.Receive(ITransactionContext context, CancellationToken cancellationToken)
at Rebus.Workers.ThreadPoolBased.ThreadPoolWorker.ReceiveTransportMessage(CancellationToken token, ITransactionContext context)
The configuration in my worker:
var storageAccount = CloudStorageAccount.Parse(azureStorageQueueConfiguration);
services.AddRebus(configure => configure
.Transport(t => t.UseAzureStorageQueues(storageAccount, "queue"))
.Routing(c => c.TypeBased()
.Map<Mycommand>("queue")
))
.AddRebusHandler<MyHandler>();
I am using .net 6 with the following nuget packages:
"Rebus" Version="6.6.5"
"Rebus.AzureStorage"
"Rebus.ServiceProvider" Version="8.3.1"
Is there something wrong in my configuration or could be that there is something missing in Azure.StorageQueues?
Hi, I get the following error when running on .NET core 3.1
OS: Mac OSX Catalina
As for the initialization I am doing a simple one:
var activator = new BuiltinHandlerActivator();
Configure.With(activator)
.Logging(l => l.Serilog())
.Transport(t => t.UseAzureStorageQueues(connectionString, "request-appointment-saga"))
.Start();
Below, the exception I got:
Unhandled exception. System.TypeLoadException: Method 'get_NetworkTimeout' in type 'Microsoft.Azure.Storage.Queue.QueueRequestOptions' from assembly 'Microsoft.Azure.Storage.Queue, Version=11.1.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation.
at Microsoft.Azure.Storage.Queue.CloudQueueClient..ctor(StorageUri storageUri, StorageCredentials credentials, DelegatingHandler delegatingHandler)
at Microsoft.Azure.Storage.Queue.QueueAccountExtensions.CreateCloudQueueClient(CloudStorageAccount account)
at Rebus.Config.AzureStorageQueuesConfigurationExtensions.Register(StandardConfigurer`1 configurer, String inputQueueAddress, CloudStorageAccount cloudStorageAccount, AzureStorageQueuesTransportOptions optionsOrNull)
at Rebus.Config.AzureStorageQueuesConfigurationExtensions.UseAzureStorageQueues(StandardConfigurer`1 configurer, String storageAccountConnectionString, String inputQueueAddress, AzureStorageQueuesTransportOptions options)
at Appointment.Program.<>c__DisplayClass2_0.<ConfigureQueueListeners>b__1(StandardConfigurer`1 t) in /Users/josefa/projects/Ally/DHCloud/Appointment/Program.cs:line 74
at Rebus.Config.RebusConfigurer.Transport(Action`1 configurer)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.