Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Recurring 使用Cron重新计费客户?_Recurring_Subscriptions - Fatal编程技术网

Recurring 使用Cron重新计费客户?

Recurring 使用Cron重新计费客户?,recurring,subscriptions,Recurring,Subscriptions,我们需要在任何一天向x数量的客户重新开票 目前,我们每5分钟运行一次cron,向20人开账单/发送发票等 但是,当客户数量增加时,扩展到每5分钟100人可能会导致cron重叠并向客户两次计费 我有两个想法: 运行cron一次,但使其在20次计费/开票后休眠x amount,这样我们就不会垃圾邮件发送API 使用消息队列,将人员添加到队列中,然后工作人员处理队列。问题是我没有这方面的经验,所以不确定最好的路线是什么 有人有这方面的经验吗?第二种选择可能是您想要的。即使你睡觉,也有可能睡得不够久。你

我们需要在任何一天向x数量的客户重新开票

目前,我们每5分钟运行一次cron,向20人开账单/发送发票等

但是,当客户数量增加时,扩展到每5分钟100人可能会导致cron重叠并向客户两次计费

我有两个想法:

运行cron一次,但使其在20次计费/开票后休眠x amount,这样我们就不会垃圾邮件发送API

使用消息队列,将人员添加到队列中,然后工作人员处理队列。问题是我没有这方面的经验,所以不确定最好的路线是什么


有人有这方面的经验吗?

第二种选择可能是您想要的。即使你睡觉,也有可能睡得不够久。你为什么不一次发送一整天的电子邮件呢?当它达到每天向10000多名客户计费的程度时,使用循环的脚本肯定太激烈了,加上API请求上限等,可能会变得一团糟?这个想法是每天运行一次,但是请求分散开来,尽管每分钟运行100个请求的cron只有144000个——这肯定会有问题,但是在一个队列中运行多个工作人员,每个工作人员每分钟处理100个请求的想法可以很好地扩展吗?只是不确定isI会同意什么样的最佳解决方案创建一个工作人员,将每个客户标记为已放入队列,然后发送电子邮件。如果电子邮件发送过程失败,请将其标记为未完成,稍后再返回。您是否每天都有10000多名客户?听起来你需要一台dedecated机器来处理发送电子邮件给你的客户的问题,简单地说,像一堆堆电子邮件一样不断地发送电子邮件。问题是我们正在计费的客户是我们用户的客户,而不是我们的客户。。因此,如果100个用户每天都有100个重新付费,那么它将以相当快的速度扩展到每天运行1个cron可能达不到所需的数量。然而,如果队列没有得到处理,我们可以增加更多的工人。然而,我在工作队列方面的经验是不存在的。我们正在使用SendGrid发送电子邮件。。我们只是发送一个API请求。感谢您的投入: