Hi Sergey,
It’d be awesome to improve hotornot! Thanks for the offer.
I think your suggestions are good. The issues we’ve had before is that, when people post about this, they want to “allow reseller to have their own ratedeck”. I think this is a bad thing because it doesn’t scale. The rate lookups are views, and those become expensive. Right now we heavily cache the rates but if every reseller or, worse, customer had their own view lookups the system would get really slow and the lookups would be expensive. Also, we had intended to change this to track actual cost, so the rate would be based on which carrier ended up being selected + the rate.
If there’s a way to factor that into the work you do so that we come up with an intelligent way of distributing the workload for rate lookup, then I would think this would be a pretty amazing addition to the core.
Also, the only thing I don’t think makes sense that you’ve listed below is configurable options based on “service plan”. I would think flags in stepswitch should cover that already, but I could be wrong.
Otherwise, I think this sounds amazing and would be happy to participate in working the details out.
- Darren
--
You received this message because you are subscribed to the Google Groups "2600hz-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
2600hz-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi Kirill,
As always, the work you do is appreciated.
The reason it was not accepted, though, was it still does not address the issue I brought up. The ratedeck table, with your strategy, will just get bigger and bigger, thus slower and slower. The goal of this entire project was to try and cater to high-volume environments and, frankly, we have enough work to do to find all the edge cases on that without introducing new ones! So that is why we were hesitant to accept it.
We had wanted the ratedecks to be in separate DBs ultimately so that:
1) A reseller might be able to re-use a ratedeck across multiple accounts and have it hit the same DB for the lookups
2) A reseller could then have their own DB on a different BigCouch/Couch cluster (including their accounts and rate decks and voicemails and what-not) so that any load they do cause doesn’t impact other clients
By putting them all in one DB, without answering the scalability question, it has the potential to cripple the system. Since I suspect this feature will actually be popular, that causes a problem – then everyone will discount the capabilities of the entire system (this seems to be a tendency when people find bugs) as not scalable.
So we have to find a way to make it scale before we accept it. And we haven’t quite figured out that way yet but I think a combination of what you’ve done plus the above notes / and/or Sergey’s suggestions will work.
I don’t want to say “we should” as if this is well designed J
I think I was tossing out ideas. I would want James or Karl to validate them probably.
From: <2600h...@googlegroups.com> on behalf of Sergey Korobkov <skoro...@gmail.com>
Reply-To: "2600h...@googlegroups.com" <2600h...@googlegroups.com>
Date: Monday, November 14, 2016 at 8:26 AM
To: 2600hz-dev <2600h...@googlegroups.com>
Subject: Re: Rewriting HotOrNot
--
You received this message because you are subscribed to the Google Groups "2600hz-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 2600hz-dev+...@googlegroups.com.
{ "pvt_type": "service_plan", "plan": { "flags": { "rate": { "name": "rate_1", "rate": 10, "activation_charge": 5 }, "route": { "name": "route_2", "rate": 15, "activation_charge": 10 } } }}
{ "pvt_type": "service_plan",
"name": "ratedeck 1 service plan", "plan": { "ratedeck": { "ratedeck_id_1": { "name": "Ratedeck name 1" } } }}
OMG Sergey! You are a rockstar!!!
Nice module name
We are about to release a new doc site, can we add this there and maybe accept this module to community-scripts for testing?
From:
<2600h...@googlegroups.com> on behalf of Sergey Korobkov <skoro...@gmail.com>
Reply-To: "2600h...@googlegroups.com" <2600h...@googlegroups.com>
Date: Tuesday, November 29, 2016 at 2:04 PM
To: 2600hz-dev <2600h...@googlegroups.com>
Subject: Re: Rewriting HotOrNot
--
You received this message because you are subscribed to the Google Groups "2600hz-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 2600hz-dev+...@googlegroups.com.
> To unsubscribe from this group and stop receiving emails from it, send an email to 2600hz-dev+...@googlegroups.com<mailto:2600hz-dev+unsubscribe@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout.
- --
James Aimonetti
Lead Systems Architect
"If Dialyzer don't care, I don't care"
2600HzPDX | http://2600hz.com
--
You received this message because you are subscribed to the Google Groups "2600hz-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 2600hz-dev+...@googlegroups.com.
curl -v -X PUT \ -H "X-Auth-Header: {AUTH_TOKEN}" \ -H "Content-type: text/csv" \ --data-binary @rates.csv \ 'http://{SERVER}:8000/v2/tasks?category=rates&action=import'
iam trying to test branch dinkor-pimp-my-rate, but no luck so far ,got service plan with ratedeck assigned to account but cant upload rates via api:curl -v -X PUT \ -H "X-Auth-Header: {AUTH_TOKEN}" \ -H "Content-type: text/csv" \ --data-binary @rates.csv \ 'http://{SERVER}:8000/v2/tasks?category=rates&action=import'
trying to put csv content:
prefix, rate_cost, ratedeck_name
1, 0.99, "ratedeck_id_1"
but got:
12:56:48.338 error kazoo_bindings.715 unable to find function clause for kt_numbers:help/3
12:56:48.338 error kazoo_bindings.715 unable to find function clause for kt_resource_selectors:help/3
12:56:48.338 error kazoo_bindings.715 unable to find function clause for kt_services:help/3
12:56:48.338 debug kz_amqp_channel.159 published to targeted(amqp://guest:guest@127.0.0.1:5672) exchange (routing key kazoo...@marcin.myhost.com-<0.834.0>-5a175b11) via <0.2098.0>