假设一个场景:
A,B,C,D…等等无数个人需要排队发邮件,邮件数量也不是固定的,会不断的增加
想要给每个人都排个队,A 的单独一个队列发送,B 的单独一个队列发送,C 单独一个队列发送…发完不占用 worker。
换句话说,A 的每次在 worker 中只有一封邮件在发送,发完取 A 的下一封。B,C,D…同理
worker 数等于可以同时处理的人数
目前找到的方案是 celery 的 chain,本来这个队列体系也使用 Celery 的。 但是 chain 只能在任务发起前已经排好队了,我的需求是不断能加到队伍后面。
建个任务接收要发邮件的信息,根据邮件所属人 A,B,C 分别建立一个队列,分别建立一个消费者,设置一个计时器,多久没收到 A 的邮件就将建好的 A 队列删除。
我天性不宜交际。在多数场合,我不是觉得对方乏味,就是害怕对方觉得我乏味。可是我既不愿忍受对方的乏味,也不愿费劲使自己显得有趣,那都太累了。我独处时最轻松,因为我不觉得自己乏味,即使乏味,也自己承受,不累及他人,无需感到不安。 这段话出自周国平《风中的纸屑》。