My employer has a social intranet web site with 1000s of customers, teams, communities and blogs. Customers are free to ‘comply with’ or ‘like’ nodes, blogs and different customers, subscribe to communities, be part of teams and many others.
What I am attempting to attain is Drupal Development Service following.
- Consumer A posts some content material, for Drupal Development Service sake of argument a weblog.
- Consumer B comes alongside, reads Drupal Development Service weblog and ‘comply with’s it.
- Consumer A must be notified that Drupal Development Service weblog has been adopted.
- Consumer B must be notified in Drupal Development Service future that Drupal Development Service weblog has modified, been added to, modified and even merely ‘like’d by one other person.
That is all good with small numbers of individuals concerned. Nonetheless, as talked about earlier, there are 1000s of individuals on this web site. When lots of customers comply with a weblog or ‘like’ one thing, all of them must be knowledgeable of Drupal Development Service replace and it’s right here that I am having Drupal Development Service drawback. Drupal Developer common nodeJS module for Drupal appears to blanket broadcast to each lively session on Drupal Development Service web site at that second, and let Drupal work out who must be informed however Drupal Development Service load on Drupal Development Service server is very large as most of Drupal Development Service notifications are pointless.
I’ve had a take a look at Drupal Development Service Actions NodeJS module as properly which at first look appeared to be completely ultimate as I do know I can inform it to simply get an inventory of Drupal Development Service customers who’re followers, loop by each and inform them that one thing has occurred. Drupal Developer drawback with this lies in that Drupal Development Service preliminary occasion, ‘like’ing one thing for instance, doesn’t full till everybody has been notified so Drupal Development Service system hangs till exit.
For instance,
- Consumer A posts some content material.
- Customers B by X all ‘like’ that content material.
- Consumer Y comes alongside and ‘like’s it as properly.
Customers A by X all get informed that Consumer Y has preferred it however Drupal Development Service ‘like’ operation from Consumer Y’s standpoint doesn’t full till Drupal Development Service final particular person has been notified. Once more, this isn’t a lot of an issue with a handful of customers, however with probably 1000s this turns into a difficulty to be handled now. If it is simply an implementation subject and you understand how to unravel this, shout up.
Some ‘again of a crisp packet’ calculations say that Drupal Development Service sluggish a part of Drupal Development Service course of is Drupal Development Service looping by of all Drupal Development Service related customers. Accessing Drupal Development Service database to get Drupal Development Service checklist of related UIDs is fairly fast as is Drupal Development Service sending of Drupal Development Service precise message.
Am I writing some customized code to deal with this? Am I going to be higher off handing Drupal Development Service work to a separate thread to course of Drupal Development Service notifications? Is that this even doable? Does a module exist already that may carry out this job effectively? That is greenfield by Drupal Development Service manner. Something shall be thought of for this job as efficiency on Drupal Development Service web site with Drupal Development Service present implementation is 100% bathroom. It might be that Drupal Development Service present implementation is flawed and Drupal Development Service present modules are completely able to carrying out this, it is a actual chance. Nonetheless, from what I’ve learn, I do not suppose that that is Drupal Development Service case.
I do not wish to blanket broadcast to Drupal Development Service web site and let Drupal kind out who must see Drupal Development Service notification as meaning many pointless hits on Drupal Development Service server but when that is how issues are imagined to work, please let me know. I might a lot slightly simply goal an inventory of customers and hit them, that appears to me to be Drupal Development Service higher manner ahead. All hints, suggestions, concepts and strategies are welcome. Drupal Developer NodeJS module permits a system-wide broadcast which is just about on the spot throughout all open classes. What I might love is to have the ability to harness that efficiency however with a focused checklist of UIDs.
Different data chances are you’ll must know.
- I’ve a devoted Node JS server at my disposal
- Drupal Developer fundamental Drupal web site has 3 internet heads however solely utilizing 1 at Drupal Development Service second for testing. Normal behaviour is ‘spherical robin’ned throughout Drupal Development Service 3 servers.
- Drupal Developer web site is hosted on a non-public community
- No nameless customers allowed; everybody has to log in to make use of Drupal Development Service web site so everybody has a UID.
- PHP v5.3.3
- Drupal v7
- NodeJS v0.10.36
Upgrading Drupal Development Service software program is not actually an choice but when it completely 100% can’t be achieved another manner, then it turns into a difficulty for dialogue for these on the next pay grade to me. I’ve already stated that I believe issues must be upgraded, notably NodeJS, however there may be particular resistance to this, do not ask me why.