• 非常感谢这回复, 我模拟出 Docker 下的 OutOfMemory 了, 这种情况下 如果 job 没结束的话就永久丢失了。 可能我们要看看 Sidekiq Pro 或者看看别的比如 RabbitMQ.

    现在的 auto scale down,其实让我很困惑, 请问 SIGTERM 属于系统级别的关机吗? 我看到的是 auto scale 是 IBM CLOUD 自动弄的, 我感觉我们没那么大的权限来决定 scaling strategy. 为了能侦测到 sidekiq container 是否每次启动,我准备在 Sidekiq 启动代码上魔改 monkey patch,加上 airbrake, 这样就能知道是否重启, 但还不能知道这次重启是因为 crash 导致的,还是正常的 scaling up.

    使用 container 跑一次性任务这个做法我也不知道能不能行, 我可以试试看, 弄一个 container 专门服务一个 heavy queue 因为目前我们已经有 3 个不同的 sidekiq.yml 来启动不同的 sidekiq, 3 个都是隔离的。 同时 scaling 的话, 就是其中的一个复制一个。 其实是怕浪费太多云资源, 导致账单太高。

    那个 PDF generation 我们试过好几个 GEM 了, 已经选了一个比较少耗资源的 GEM , 还进行了很多修改, 但这东西跟新感觉有点跟不上进度

  • Sidekiq limit fetch 一个问题 at 2020年06月05日

    谢谢回答, 目前观察, 这里的 auto scaling 策略是 redis 不动, 另外再 launch 一个一摸一样的 worker, 很可能多个一样的 worker 互相踩了, 造成 redis 里面的 deadlock ... 我再做做体力活, 进行测试去了。

  • 六万欧元 是包含 package 吗?

  • 这如何做啊 , 让客户 chrome 生成

  • 你好, 这里放在数据库里定期去取, 这里哪种数据库比较好 , 是 PG 还是 Redis? 我看到 Redis 好难操作啊 , 不知道如何存储

  • 这个定期取数据的 worker 是独立的是吧? 启动 server 以后就开启这个 worker, 比如 每 10 秒观察 Redis 数据库里的这个特别 queue. 看到有就启动我们的别的 worker.perform_async ?

  • 所以客户使用该服务的时候都使用同一个 worker. 一个服务对应一个 worker.

  • 谢谢, 我会考虑考虑的

  • 感觉你抓住了问题的重点。 谢谢, 我先去研究一下如何给每个用户额度, 和我组的 CTO 讨论讨论该提议能不能管用。 然后看看该如何写代码。 你说起进程调度问题, 我看到有个 GEM sidekiq scheduling, 不知道这个 gem 有没有用

  • 我本来是电子工程的硕士, 英语很好,后来转行码农的,做过很多 it 方面的工作,数据库 , IT 咨询,行业咨询,前端开发. 现在发现 ROR 给出的全栈方案我特别喜欢, 我个人又比较喜欢学习新事物, 所以就先做 ROR 开发了. 我觉得人生价值中做自己喜欢的事情占很大的比例.