Skip to content

IIS部署的普通队列不执行,必须要重启进程才行 #14

@gou9ping

Description

@gou9ping
 services.AddInitQ(m =>
        {
            //没消息时挂起时长(毫秒)
            m.SuspendTime = 1000;
            //每次消费消息间隔时间(毫秒)
            m.IntervalTime = 1000;
            //redis服务器地址
            m.ConnectionString = AppSettingsConstVars.RedisConfigConnectionString;
            //对应的订阅者类,需要new一个实例对象,当然你也可以传参,比如日志对象
            m.ListSubscribe = new List<Type>() {
                typeof(InitCWorksCollectionSubscribe),
                typeof(InitBBCommonCollectionSubscribe),
                typeof(InitBBComposeCollectionSubscribe),
                typeof(InitSWorksCollectionSubscribe),
            };
            //显示日志
            m.ShowLog = true;
        });

public class InitCWorksCollectionSubscribe: IRedisSubscribe
{
private readonly IRedisOperationRepository _Redis;
private readonly IMint_WorksService _WorksService;

    public InitCommonWorksCollectionSubscribe(IRedisOperationRepository Redis
        , IMint_WorksService WorksService)
    {
        _Redis = Redis;
        _WorksService = WorksService;
    }
    /// <summary>
    /// 初始化信息
    /// </summary>
    /// <returns></returns>
    [Subscribe(RedisMessageQueueKey.Works_Common_Init_Collection)]
    public async Task InitCollection(string content)
    {
       
        var works_ary = JsonConvert.DeserializeObject<List<string>>(content);
        if (works_ary != null && works_ary.Count > 0)
        {
            try
            {
                var works = await _WorksService.QueryListByClauseAsync(w => works_ary.Contains(w.works_id));
            }
            catch (Exception ex)
            {
             
                Thread.Sleep(3000);
                await _Redis.ListLeftPushAsync(RedisMessageQueueKey.Works_Common_Init_Collection, works_ary.ObjectToJson());
            }
        }
    }
}

await _Redis.ListLeftPushAsync(RedisMessageQueueKey.Works_Common_Init_Collection, "消息内容");

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions