Activering van meerdere MercatorIshop-processen

0000001288     -      10-10-2012
Verouderd

Deze informatie is verouderd. De ontwikkelingen van websites rond Mercator websites zijn nu gedaan

MercatorIshop werkt standaard als enig proces op de server. Dit kan als volgt worden geïllustreerd: één enkele gebruiker "beluistert" de vragen van de gebruikers, neemt er nota van in de volgorde waarin ze binnenkomen en beantwoordt ze in dezelfde volgorde. Er kan zich een probleem stellen als een vraag een lange uitvoeringstijd vereist. In dat geval worden alle navolgende vragen in wacht gezet. Duurt het oponthoud langer dan de in het bestand FoxIsapi.ini vastgelegde time-out (busytimeout), dan krijgen de "niet-bediende" internetgebruikers het bericht "FoxIsapi call failed: timeout ..." te zien.

Een oplossing hiervoor bestaat erin de webserver zodanig te configureren dat een tweede, en zelfs een derde gebruiker kan antwoorden op vragen die niet werden verwerkt door de eerste gebruiker. In MercatorIshop-jargon worden deze gebruikers processen genoemd.

De activering van meer dan 1 mogelijke processen mag enkel gebeuren als de server in staat is om dit te ondersteunen. Dit zowel op het vlak van de processor (idealiter meerdere processors vereist) als wat het hoge beschikbare RAM-geheugen betreft. Als aan deze criteria niet is voldaan, zal de opstart van het tweede proces bemoeilijkt worden door de (per definitie intense) activiteit van het eerste proces, en de prestatiewinst zal dan ook nul of zelfs negatief zijn.

Het is ook niet opportuun om een groter aantal processen vast te leggen. Het aantal processen mag nooit meer bedragen dan 3, behalve bij gebruik van een server met gigantische prestaties en een enorme activiteit.

Het maximale aantal processen wordt vastgelegd in het bestand foxisapi.ini. U hoeft hieraan enkel dit blok toe te voegen:

[MercatorIshop.MercatorIshop]
MercatorIshop.MercatorIshop=3

of, bijvoorbeeld, voor een MercatorIshop2.exe

[MercatorIshop2.MercatorIshop]
MercatorIshop2.MercatorIshop=3

Om deze configuratie te bevestigen, moet u nog de volgende wijzigingen aanbrengen:

  • installeer een update 6.2 of later van MercatorIshop;
  • om de opstart van het tweede proces te versnellen, moet u absoluut de grootte van de buffers optimaliseren;
  • in de opties van MercatorIshop stelt u de optie "Del. caddies at startup" in op NO. Anders zal de opstart van proces nr. 2 de cookies (en dus ook de actieve caddies) van proces nr. 1 vernietigen;
  • maak geen gebruik van de reset-methode van MercatorIshop (cfr. infra).

U moet zich bewust zijn van het feit dat geen enkele procedure kan weten welk proces zal worden gebruikt voor de verwerking van een of andere bestelling van een internetgebruiker. Het kan gebeuren dat een internetgebruiker een caddie start via proces nr. 1, dat de toevoeging van artikels gebeurt via proces nr. 3, en dat de validatie gebeurt via proces nr. 2. Bijgevolg mag u ook geen globale variabele gebruiken die tussen 2 acties van eenzelfde internetgebruiker moet worden gerecupereerd (gebruik de tabel COOKIES die gemeenschappelijk is voor alle processen).

Zodra het multiprocesbeheer geactiveerd is, bezorgt het commando Status op foxIsapi.dll een tabel bestaande uit evenveel lijnen als processen. In deze tabel kan u zien of het proces bestaat (het overeenstemmende MercatorIshop-object bestaat) of niet.

Via deze zelfde URL, maar waarbij status is vervangen door reset, kunnen alle processen van MercatorIshop worden "vrijgegeven". Deze reset is te verkiezen boven de reset die eigen is aan MercatorIshop, want de reset op foxisapi.dll maakt dit dll-bestand duidelijk dat de processen niet langer bestaan en dat er dus nieuwe processen moeten worden gecreëerd om te voldoen aan de volgende vragen.

(De URL's reset en status zijn op geen enkele manier beschermd met een wachtwoord, u moet ze herbenoemen met een "niet-alledaagse" naam. Daartoe kunt u de waarden wijzigen van de inputs statusurl en reseturl die in het bestand foxisapi.ini staan.)

Hoe de werking van meerdere processen testen?

Mercatorishop 6.2 beschikt over een vertragingsmethode waarmee een proces gedurende een bepaald aantal seconden kan worden geblokkeerd. Tijdens dit interval zal een ander proces de werking onvermijdelijk moeten overnemen (voorbeeld: /scripts/foxisapi.dll/MercatorIshop.MercatorIshop.delay?30).



Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)

De pagina die u wenst te bekijken heeft betrekking op een versie van Mercator die commercieel niet meer beschikbaar is en niet meer wordt ondersteund.

Mercator is een applicatie .net en maakt gebruik van een database SQL Server. De gegevens op deze pagina stemmen niet overeen met deze eigenschappen.