As Jason pointed out earlier, you can do an xdmp:invoke instead of an
xdmp:spawn. Invoke is syncrounous.
For example, you can do something like the following pseudo-code:
update-dictionary();
xdmp:invoke("module-that-runs dictionary-query-to-prime-the-cache.xqy")
-Danny
From: [email protected]
[mailto:[email protected]] On Behalf Of Yeshmeet Singh
Sent: Tuesday, April 10, 2012 4:25 AM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] Xdmp Spawn
Yes I guess you were write after inserting if I wait for a second and then fire
my query than it works. But than again it want something that works
immediately.Is there anything that can be done?
From: [email protected]
[mailto:[email protected]] On Behalf Of Jason Hunter
Sent: Tuesday, April 10, 2012 12:34 PM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] Xdmp Spawn
A spawned task will start some time after you spawn it, and will finish some
time later proportional to how much work it has to do. Sounds like your spawn
hasn't run to completion by the time you're doing your user query test.
You can use invoke if you want it to start right away and block til completed.
Or you can not worry about priming the pump. On a production site with
constant user load the priming you do won't matter since a user will be hitting
the dictionary anyway.
-jh-
On Apr 9, 2012, at 11:54 PM, Yeshmeet Singh wrote:
After calling my insert file in which I am calling the spawn function I fire my
search query.
From:
[email protected]<mailto:[email protected]>
[mailto:[email protected]]<mailto:[mailto:[email protected]]>
On Behalf Of Jason Hunter
Sent: Tuesday, April 10, 2012 12:08 PM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] Xdmp Spawn
How do you know the spawn work is finished before you do your user query test?
-jh-
On Apr 9, 2012, at 11:36 PM, Yeshmeet Singh wrote:
That is what I am not getting it was working fine for me last week. In the
spwan call I increased the number of dictionaries from 5 to 9 and it gave me
the problem.
From:
[email protected]<mailto:[email protected]>
[mailto:[email protected]]<mailto:[mailto:[email protected]]>
On Behalf Of Jason Hunter
Sent: Tuesday, April 10, 2012 11:50 AM
To: MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] Xdmp Spawn
I'm not an expert on this, but at midnight you get who's online. :)
Let's assume it takes 4-5 seconds to process (i.e. cache) a newly modified
dictionary.
Let's also assume MarkLogic is lazy about processing new dictionaries until
they're first used.
What you were doing before was "priming the pump" by using the dictionary in
the spawn so it'd be processed before the first real user needed it.
Now you're saying it's still slow on the first request even after the spawn()
completes? That seems unlikely.
-jh-
On Apr 9, 2012, at 11:10 PM, Yeshmeet Singh wrote:
Hi,
We are using spell:suggest and the spell:suggest-detailed api's for fetching
the correct words from a custom spell dictionary. Now if we update the spell
dictionary and then fire the query, it takes a long time to return the results
for the first hit. Again if we fire the same query the time taken to return
back the results is considerably reduced. To fix the issue I asynchronously
called my xquery file using Xdmp:Spawn() after the insertion. It was working
fine for me till I used a limited number of dictionaries in my spawn call. But
now I had to include some more dictionaries and it is again taking around 4-5
seconds to fetch after a new word is inserted in the dictionary. Is there any
solution to the problem?
Thanks
Yashmeet Singh
**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely
for the use of the addressee(s). If you are not the intended recipient, please
notify the sender by e-mail and delete the original message. Further, you are
not
to copy, disclose, or distribute this e-mail or its contents to any other
person and
any such actions are unlawful. This e-mail may contain viruses. Infosys has
taken
every reasonable precaution to minimize this risk, but is not liable for any
damage
you may sustain as a result of any virus in this e-mail. You should carry out
your
own virus checks before opening the e-mail or attachment. Infosys reserves the
right to monitor and review the content of all messages sent to or from this
e-mail
address. Messages sent to or from this e-mail address may be stored on the
Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***
_______________________________________________
General mailing list
[email protected]<mailto:[email protected]>
http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]<mailto:[email protected]>
http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general