草庐IT

event-queue

全部标签

django - django 应用程序中 redis-queue 队列的命名空间

我有一个django应用程序,它使用redis-queue在后台管理长时间运行的任务。我已设置并运行它(如果采用愚蠢的配置),但我不清楚存储队列的适当命名空间是什么。我按照文档中的建议设置了rqworker:#rqsetup.pyimportosimportredisfromrqimportWorker,Queue,Connectionlisten=['high','default','low']redis_url=os.getenv('REDISTOGO_URL','redis://localhost:6379')conn=redis.from_url(redis_url)if__n

python - 生产中的 Redis-Queue (RQ) 任务队列

我最近开始需要在我的Django程序中使用任务队列,我担心它在未来会有多健壮,或者在生产部署中需要克服什么问题。我正在使用适用于Python的Redis-Queue或RQ库,它们自称比Celery(我还没有完全学会)更容易学习和使用。有人对此有任何意见吗?你认为RQ与Redis结合在生产中是否可行,或者你会使用其他东西吗?大型应用程序使用什么进行任务排队? 最佳答案 据我所知,Celery在生产环境中,对于Python/Django来说,最成熟的基于分布式消息传递的同步任务队列/作业队列的实现,以Redis作为代理工作得很好。在生产

events - 有没有办法使用像redis这样的持久性数据库来延迟特定时间?

我想在两个函数调用之间插入30分钟的延迟,例如:发送fcm/sms后30分钟后发送电子邮件。我正在尝试为此使用Redis,所以我使用节点模块名称bull,它允许我创建一个具有延迟的作业并将其推送到队列中。//发送短信给用户sms(null,{to:phone,content:{msg:"testmessage"},sender:"XYZ"});//在这里我必须添加30分钟的延迟//发送通知给用户fcm(null,{user_ids:userId,message:"restart!!!"});我不想使用setTimeout,因为如果我的应用重新启动,它就不会工作。

redis - 在实现 ShouldQueue 或使用 queue() 方法时发送电子邮件会导致 Illuminate\Contracts\Queue\Factory,对于 Lumen 5.8 为 null

我是Lumen的新手,目前正在学习如何使用Lumen5.8。最近,我正在开发的应用程序需要在出于各种目的发送电子邮件时实现ShouldQueue或queue()方法。所以我跟着instructionsontheofficialpage在Lumen5.8上设置Mail,我还看到Illuminate\Contracts\Mail\MailQueue::class别名正在app.php上设置。不幸的是,除了在实现队列方法和/或ShouldQueue时发送之外,无需排队即可发送电子邮件。它们是关于如何在Lumen5.8上进行排队邮件的另一说明吗?以下是尝试将邮件插入队列时产生的错误。Argum

java - 为什么 Redis 不在 __keyevent@*__ :expired topic events? 上调用我的 MessageListener

我最近将Spring-Boot升级到2.1.4.RELEASE并将Spring-Cloud升级到Greenwich.SR1。我的服务在Java11上运行。我对Redis的唯一依赖是通过spring-boot-starter-data-redis。虽然我通过设置notify-keyspace-eventsEx在Redis上进行了配置,但我似乎无法从中接收到任何key过期事件。这是我第一次打算出于超时目的接收此类事件。可能出了什么问题?请帮忙!这是我的Redis配置:@ConfigurationpublicclassRedisConfiguration{@Value("${spring.r

node.js - 错误 : [ioredis] Unhandled error event: Error: connect ETIMEDOUT

我在我的Node应用程序中遇到了redis连接超时问题。我试过这段代码,newRedis({connectTimeout:10000})但是没有用,它没有帮助我编写代码[ioredis]Unhandlederrorevent:Error:connectETIMEDOUTatSocket.(/code/node_modules/ioredis/lib/redis.js:291:21)atObject.onceWrapper(events.js:313:30)atemitNone(events.js:106:13)atSocket.emit(events.js:208:7)atSocket

laravel - QUEUE_CONNECTION 'database' 工作但 'redis' 抛出 'Array to String conversion'

我只是想运行一个Event&Listener循环并将模型传递给它event(newLabelsCreated($model,'string'));这与QUEUE_CONNECTION=database完美配合,但与QUEUE_CONNECTION=redis配合使用时,它会抛出错误:#message:"Arraytostringconversion"#code:0#file:"/home/vagrant/Code/Upworks/myproj/vendor/laravel/framework/src/Illuminate/Queue/RedisQueue.php"#line:302#s

asp.net - ASP .Net Core 在 JWTBearerOptions.Events OnTokenValidated 事件中访问 DistributedRedisCache

我有一个ASP.NetCoreAPI项目。在这个项目中,我使用JWTBearer身份验证。我还使用了.NetCore依赖注入(inject)的AddDistributedRedisCache功能。(都显示在下面)我们有时需要将token列入黑名单(管理员用户删除权限、注销等),以便这些token立即生效。本质上是强制用户在可以进行下一次调用之前重新登录。我们将JWTtoken添加到redis缓存中,并在注销时将它们从客户端缓存中删除。但是用户可以(理论上)存储JWTtoken,并且在token过期之前仍然可以访问,除非我们拦截调用并根据黑名单检查它。如何在下面的代码中访问“OnToke

events - DDD 使用 NoSQL 处理限界上下文中多个聚合的最终一致性

我目前正在开发一个DDD地理定位应用程序,它在一个有界上下文中有两个独立的聚合根。由于坐标更新频繁,我使用Redis来保存不允许回滚的数据。我的第一个聚合根是一个行程对象,包含司机(用户)、乘客(用户列表)等。我的第二个聚合根是用户位置更新发送坐标更新时,我将生成并触发“UpdateUserPostionEvent”。作为副作用,我还会在特定点生成并触发“UpdateTripEvent”,这将更新司机/乘客的坐标。我的问题是,如果我异步触发“UpdateLiveTripEvent”,我该如何处理最终一致性。我的UpdateLiveTripEventHandler有几个故障点,除了记录错

ruby - 是否有 Queue 的替代方案可以让您一次弹出多个结果?

我正在使用Ruby的Queue在我的Sinatra服务器上将任务发送到工作线程,然后处理它们并将它们保存在我选择的数据库中。其中一个数据库恰好是Redis,支持somereallycoolpipelinening.我的问题是:有没有办法修改Queue类,使.pop可以像普通Array#pop一样一次弹出多个项目,àla[1,2,3,4,4,5].pop(3),以便我可以管道化结果?此外,如果队列变得太大,Heroku实例会发生什么情况?一个警告,然后重新启动-一些丢失的数据,对吗? 最佳答案 怎么样:defpop_queue(q,n