private List <QueueMessage <SimpleMessage, IAdditionalMessageData> > GenerateMessages(List <SimpleMessage> jobs,
                                                                                              TimeSpan?delay      = null,
                                                                                              TimeSpan?expiration = null,
                                                                                              ushort?priority     = null
                                                                                              )
        {
            var messages = new List <QueueMessage <SimpleMessage, IAdditionalMessageData> >(jobs.Count);

            foreach (var message in jobs)
            {
                if (delay.HasValue || expiration.HasValue || priority.HasValue)
                {
                    var data = new AdditionalMessageData();
                    if (priority.HasValue)
                    {
                        data.SetPriority(priority.Value);
                    }
                    if (delay.HasValue)
                    {
                        data.SetDelay(delay.Value);
                    }
                    if (expiration.HasValue)
                    {
                        data.SetExpiration(expiration.Value);
                    }
                    messages.Add(new QueueMessage <SimpleMessage, IAdditionalMessageData>(message, data));
                }
                else
                {
                    messages.Add(new QueueMessage <SimpleMessage, IAdditionalMessageData>(message, null));
                }
            }
            return(messages);
        }
示例#2
0
        public static AdditionalMessageData GenerateData(QueueProducerConfiguration configuration)
        {
            if (configuration.Options().EnableMessageExpiration ||
                configuration.Options().EnableDelayedProcessing ||
                configuration.Options().EnablePriority ||
                configuration.Options().AdditionalColumns.Count > 0)
            {
                var data = new AdditionalMessageData();

                if (configuration.Options().EnableMessageExpiration)
                {
                    data.SetExpiration(TimeSpan.FromSeconds(1));
                }

                if (configuration.Options().EnableDelayedProcessing)
                {
                    data.SetDelay(TimeSpan.FromSeconds(5));
                }

                if (configuration.Options().EnablePriority)
                {
                    data.SetPriority(5);
                }

                if (configuration.Options().AdditionalColumns.Count > 0)
                {
                    data.AdditionalMetaData.Add(new AdditionalMetaData <int>("OrderID", 123));
                }

                return(data);
            }

            return(null);
        }
示例#3
0
        public static AdditionalMessageData GenerateDataWithColumnValue(QueueProducerConfiguration configuration,
                                                                        int columnValue)
        {
            var data = new AdditionalMessageData();

            if (configuration.Options().EnableMessageExpiration)
            {
                data.SetExpiration(TimeSpan.FromSeconds(1));
            }

            if (configuration.Options().EnableDelayedProcessing)
            {
                data.SetDelay(TimeSpan.FromSeconds(5));
            }

            if (configuration.Options().EnablePriority)
            {
                data.SetPriority(5);
            }


            data.AdditionalMetaData.Add(new AdditionalMetaData <int>("OrderID", columnValue));


            return(data);
        }
示例#4
0
        public static AdditionalMessageData GenerateData(QueueProducerConfiguration configuration)
        {
            if (configuration.Options().EnableMessageExpiration ||
                configuration.Options().EnableDelayedProcessing ||
                configuration.Options().EnablePriority ||
                configuration.Options().AdditionalColumns.Count > 0)
            {
                var data = new AdditionalMessageData();

                if (configuration.Options().EnableMessageExpiration)
                    data.SetExpiration(TimeSpan.FromSeconds(1));

                if (configuration.Options().EnableDelayedProcessing)
                    data.SetDelay(TimeSpan.FromSeconds(5));

                if (configuration.Options().EnablePriority)
                    data.SetPriority(5);

                if (configuration.Options().AdditionalColumns.Count > 0)
                {
                    data.AdditionalMetaData.Add(new AdditionalMetaData<int>("OrderID", 123));
                }

                return data;
            }

            return null;
        }
示例#5
0
 private List<QueueMessage<SimpleMessage, IAdditionalMessageData>> GenerateMessages(List<SimpleMessage> jobs,
     TimeSpan? delay = null,
     TimeSpan? expiration = null,
     ushort? priority = null
     )
 {
     var messages = new List<QueueMessage<SimpleMessage, IAdditionalMessageData>>(jobs.Count);
     foreach (var message in jobs)
     {
         if (delay.HasValue || expiration.HasValue || priority.HasValue)
         {
             var data = new AdditionalMessageData();
             if (priority.HasValue)
             {
                 data.SetPriority(priority.Value);
             }
             if (delay.HasValue)
             {
                 data.SetDelay(delay.Value);
             }
             if (expiration.HasValue)
             {
                 data.SetExpiration(expiration.Value);
             }
             messages.Add(new QueueMessage<SimpleMessage, IAdditionalMessageData>(message, data));
         }
         else
         {
             messages.Add(new QueueMessage<SimpleMessage, IAdditionalMessageData>(message, null));
         }
     }
     return messages;
 }