diff --git a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueue.cs b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueue.cs index 6345083926..33c41704f2 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueue.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueue.cs @@ -80,7 +80,13 @@ public class JobQueue : IJobQueue BackgroundJobPriority priority, TimeSpan? delay) { - return await EnqueueAsync((TArgs)args, priority, delay); + if (args is TArgs typedArgs) + { + return await EnqueueAsync(typedArgs, priority, delay); + } + + var serializedArgs = Serializer.Serialize(args); + return await EnqueueAsync((TArgs)Serializer.Deserialize(serializedArgs, typeof(TArgs)), priority, delay); } public virtual async Task EnqueueAsync(