Enqueue and dequeue

Hi all

I have jusr found an interesting question, which confused me too much. Hope you can help me. Look at the picture (Panel and block diagram). When I press the button loop dequeue, the number will change to 50. When I press STOP loop enqueue, then press the dequeue one, the number will never change at 50. I really don't understand. In addition, on the basis of the second sequence of operation, what can I do to jump the dequeue loop and change the number?

your queue and dequeue loop run at rates almost the same (which are crazy because you don't have any waiting loop enqueue.)

So when you tap hold stop button loop it dequeues an element and stops and you go to another sequence and get value = 50. (Note that you always queue data)

When you press stop loop enqueue, dequeue funtion had already removed data from the queue and waiting for other data. Because the time-out dequeue is - 1 he'll wait forever and the loop will not stop and you would get any value out of the loop.

To work around the problem, you can give some timeout to dequeue function. (just a workaround, may not be a good technique)

Now made explanation what actually you trying to do with this?

Tags: NI Software

Similar Questions

  • Application of segment SS Enqueue and fate on 8.1.7.4 after attempting to drop the temp tablespace

    We have a case opened with the support of the Oracle, but I thought I'd throw it out there if it's ok.

    We have a 8.1.7.4 database running on HP - UX 11.11 PA-Risc and it looks like any session that wants to use a temp space is hung a SS enqueue or in some cases is waiting on a waiting "sort request of the segment.

    Saturday, we tried to move all users to a new temporary tablespace and drop the old one but the drop suspended and we control-C out of it.  We put the users to the original temp.  Note that both the old and the new temporary tablespaces are managed locally.

    Before trying to leave falling the old tablespace temp that we killed the existing sessions, including one who had worked for two weeks and has been hooked on SMON.

    Query v$ fast_start_transactions and x$ ktuxe indicate that SMON is back any large transaction.

    In addition, SMON seems to run this query always:

    SELECT file #, block #, LENGTH

    The UET $

    WHERE the ts # =: 1 AND segfile # =: 2 AND segblock # =: 3 AND ext # =: 4

    Here are the locks held by SMON for what it's worth:

    ADDR KADDR SID TY ID1 ID2 LMODE CTIME BLOCK REQUEST
    ---------------- ---------------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------
    C000000028C43CD8 C000000028C43CF8 74 16 4 0 59610 TT 8 0
    C000000028C43C68 C000000028C43C88 TS 74-666633304 8 6 0 0 59650
    C000000028C1CB38 C000000028C1CB58 8 ST 0 0 6 0 13 0

    ST, space management Transaction
    TS, temporary Segment (also TableSpace)
    TT, temporary Table

    Same database has a recovery scenario about a month or to go back due to some deleted data files.  Also, during the holidays, we had to rebuild a global index huge and increased our tablespace temp to get it, which is why we strive to reduce now create a smaller.  In addition, creating index was still holding in the tablespace existing managed dictionary so we ended up move the index to a managed locally.  Also, UET$ has about 33,000,000 lines and most of the data is in the dictionary managed tablespaces.  Dba_free_space queries typically take 30 minutes to return - that is, we know it is messed up and has been so for a long time.

    Pleasure for us.  If anyone has an idea that would be great.

    -Bobby

    Tablespace name I really used corresponded to ts #= 74 in v$ tablespace.

    We plan to rebuild the other indexes in this space in a new locally managed tablespace and then drop the tablespace existing managed dictionary.  My only question is whether corruption will drop the tablespace to fail.

    Hi Bobby,.

    I'm not sure of your current situation hope now, that's better.

    I couldn't find the time to reply back yesterday. Looking at the huge amounts of temporary segments in your tablespace (74), just made me think if you or Support of Oracle were you made aware of an event DROP_SEGMENTS which is an event of users can invoke to clear temporary segments. It deletes the temporary segments such as the SMON in the background. This event has the advantage of not having the CPU consumed by SMON.

    47400.1 Note : EVENT: DROP_SEGMENTS - forcing cleanup of TEMPORARY segments

    There is also a method to the dictionary (changes) patch (not recommended if not). You can enlist the help of Oracle Support

    The method is to identify the segment (which you already have) and update the segment_type from temporary to 999.

    388619.1 Note: last resort when SMON takes 100% of CPU

    Kind regards

    Suntrupth

  • Suspension and dequeuer AQ

    I'm messing around with AQ right now (in appearance, to learn it). A test, I filled the queue and executed DBMS_AQ. DEQUEUE twice with the default wait forever. The first retrieved the message, the second is waiting for a new message, as expected.

    I opened another terminal and tried DBMS_AQADM. PURGE_QUEUE_TABLE, to see what would happen (give an error, or work in any case) and he ended up waiting. So, thinking I just needed something to get things moving, I tried rate another message (wrapped in a FUNCTION called in a SQL statement), who also finished the hanging.

    Now I'm confused. Shouldn't be able to queue while a dequeuer awaits. Or have I missed something?

    Probably better to ask questions to QA QA Forum.

    Advanced queues

    See you soon,.

  • queue exception thanks to another user access

    Hello

    Just need a little help for fact and exception queue by another user.

    I have a queue in detail a. (test_q). When messages expire they land in the q of the exception (AQ$ _test_q_E).

    I have a diagram A package that retrieves the message EXPIRES of AQ$ test_q and requeues then the payload once again in the same queue. Then she takes off the expired message from AQ$ _TEST_Q_E to remove the expired entry from test_q.

    The lot above works fine when I run help diagram A.

    But if I try to use this package using user B (after giving subsidies and the creation of synonyms for package and the queue in diagram B), I'm getting ORA-24010: QUEUE SCHEMAB. AQ$ _TEST_Q_E does not exist.

    He seems to be the new message in the main diagram A queue, but failed when deleting the message PASSED from AQ$ _TEST_Q_E figure A.

    NA not find any grant to a queue for the exception that can be given to another user... .only enqueue and dequeue privileges are there in the exception queue, I gave to user B, but it does not seem to recognize the exception queue in the first place.

    Any help or any other way to remove the EXPIRED queue for exception message will be highly appreciated...

    ORA-24010: QUEUE SCHEMAB. AQ$ _TEST_Q_E does not exist

    The scheme, which is prefixed is SCHEMAB. Why is this? May be you must precede the name of schema (SCHEMAA) in your package

  • vs rollback tpdequeue message order in queue

    Hello

    I'm adopting the subsystem of tuxedo at my request queue. I have a queue of Tuxedo created with the command:

    qcreate d persist dummySvc fifo no 9999999

    When I enqueue (TPNOFLAGS) three foo1, foo2 and foo3 messages I can remove their order foo1, foo2, foo3.

    But I need this (fifo) ordering also when I sometimes dequeue operation rollback:

    Enqueue foo1-> validation

    Enqueue foo2-> validation

    Enqueue foo3-> validation

    Dequeue, I get foo1-> rollback

    Dequeue, I get foo2 (I want foo1 yet!)-> validation

    Dequeue, I get foo3-> validation

    Dequeue, I get foo1-> validation

    you place your order: foo2, foo3, foo1 instead foo1, foo2, foo3

    What you see above is that foo1 jumped out of use due to the cancellation of the application.

    How can I configure the tuxedo queue or enqueue and dequeue functions to check only once

    I have rollback dequeue operation the rear roller message will always first waiting message next time?

    checked the tuxedo: 11.1.1.2.0 Patch level 022 and 129 Aix 6.1 on 64 bit

    problem solved with the service request. This order number is not a bug but a normal Tuxedo /Q. Although you will not find this information near tpdequeue (3) and qcreate (1), '[...] When a corresponding message is delivered in the queue to try again, command line specifications are, indeed, suspended for second retry delay"(google that phrase and you will find appropriate manuals)

    This 'retry period' is qcreate option and 'put back' is a restore operation. future textbooks could have this city in tpdequeue and qcreate description

    Thanks again to the support team

  • BP for DT Calc

    I've had DT calculation issues lately and cpu at 100%. I have an open SR and with working in charge. In the meantime... I see that my level of distribution (admin/support/status tab) shows that the queue of the MQ resource and the broker are my top the page root cause problems. When I top enqueue... is it still wrong? It seems to coincide with the dequeue brokers... This should be a normal activity. Right?  Photo shows last 90 days and changes to the queue and dequeue.

    Please be aware that this is only to explain one of the many possible situations that could cause the symptoms you see.

    Enqueue and Dequeue are metric for data going to and from a queue.  As long as they are similar, where Dequeue is slightly TimeShift (later) that Enqueue... so things are still evolving.

    The metric of a which is easier to understand is DataQueue > queue size.  This is the total number of messages currently in the queue, which still need to be addressed by the analytical engine.

    As long as you're on 5.0.3 What follows is a generalization of what will happen with treatment DT.

    What can happen is that the DT runs and begins to consume CPU resources.  It consumes all the resources he can get.  In a scenario of 'great', there are 6 wires DT by default... which will consume almost all CPU resources available in the virtual machine.

    Now these CPU resources are not available to process the information of the DataQueue, so some messages will be waiting to be consumed.

    Once the size of the queue reaches a certain value, DT will itself to ensure that we do not have a delay huge butterfly. Therefore, we are trading off DT runtime in order to be up to date on the data.

    What is hard to say:

    1. What is the limiting factor?  Is this CPU resources, lack of memory, the disk i/o availability, etc..  This assessment can be done by Support.

    2. once we identify the limiting factor, we must solve.  (Add vCPUs/memory/disk Threads, etc.)

    3. then trigger DT again (can be done between the custom user interface) and the monitor.

    It is a progressive nature troubleshooting.

    Points to remember:

    1. we really only need a DT every two days (48 hours), since the treatment DT predicts more than 48 hours in the future.  If we execute once a day, we can adjust to the new data.  We do it once a day to ensure that we have a data set for alert, anomalies, etc.

    2. we cannot be limited to the Application layer... it might be the layer VM/OS, providing resources, or even the ESX host is not able to provide raw computing resources to meet the requirements of the virtual machine itself.  This is part of the diagnostic process.

    3. we need to know the number of parameters collected actively.  This may be caused by an Audit report in the custom user interface and look at the number of collection line.  This allows to create an approximation for how much resources is necessary.

    4. it is a progressive troubleshooting effort.  We have only tested up to 2.5 million measurements collection in a single instance of vApp.  People have gone over this?  Yes.  Will it work?  Probably, but I would try to get under the $ 2.5 million in order to support.

  • Creation of AQ connection

    I am trying to build my own Oracle Advance Queuing Connector following JCA specification. To make the AQ connection I need JDBC connection first. And this is the first problem that I have, when I try to get the server JNDI connection and use it to create the AQ connection, I got an error message saying that the connection is not valid. The created connection manually only works (using the driver manager) is not more comfortable elsewhere in fact. -Does anyone know the catch here?

    11.1 the driver JDBC Thin from QA API. You have more need to use the oracle. AQ package.

    Please refer to the JavaDoc for more details:
    http://download.Oracle.com/docs/CD/E14072_01/AppDev.112/e13995/

    You can start with the enqueue method:
    http://download.Oracle.com/docs/CD/E14072_01/AppDev.112/e13995/

    Note that the JDBC API of QA use the AQ network protocol natively and are so much faster than the oracle. AQ package that uses PLSQL to enqueue and dequeue.

  • Support of transactions for OracleAQQueue

    How is it possible to provide support of transaction enqueue and dequeue OracleAQQueue?
    As far as I know, queue operations are implicitly involved - or perhaps im overlooking something basic?

    You can set OracleAQEnqueueOptions.VisibilityMode and/or OracleAQDequeueOptions.VisibilityMode to 'OracleAQVisibilityMode.OnCommit' and encapsulate Enqueue or Dequeue operation in a local transaction to get the desired behavior.

  • Queue implementation and adoption of parallel loops

    I did here a small pseudo-device code to learn the parallel queue and loop execution.

    I need to stop the loops at the same time, so I used a local variable of an indicator and the program.

    The problem is in the VI attached below the loops are stop when I press the button stop in the front panel, but the program does not, its still in the running.

    It only happens a few times. I noticed that when the loop the first loop interactions are more the second loop the program stops, but when the matter is vice versa it doesn't

    Please help me understand why is this.

    If you aren't given enqueueing, then Dequeue functions will just sit and wait indefinitely.  Not what you want here.

    I don't like the idea of using a local or global variable to put an end to your curls.  Yes, there are places where it is the best option.  But that should be avoided when possible.

    I used destroying queues to stop the loops of the consumer.  But there is a flaw in that major: data loss.  If you queue 100 items and then destroyed the queue was not withdrawn all data will be lost.  In some situations, that's fine.  With most of my applications, which is not allowed.

    So I like to do is use the data of the queue to send a shutdown command.  In your case, I would like to send an empty array to tell to stop the loop of consumer.  There is a very simple function in the range of comparison to check an empty array.

  • Continuous measurement and logging model - Hang-Up of may because of the lost output

    The model of continuous measurement and logging in LabVIEW 2012SP1 has a flaw in the Acquisition and recording loop.

    Stop messages manager ignores all messages in the queue of messages. The note says:
    "Stop - empty the queue of all pending messages 'Connect'. Close the reference of TDMS files. "See the picture below.

    This concept breaks if the output message is issued while the Stop message is being processed. The time gap critical to do this is small, because the issue is posted on the front of the queue. But it depends on the treatment in the case of the Manager to stop. Large or small - it can happen.

    The symptom is the application block in an infinite waiting on the queue of message - all commands have no effect, as the rest of the loops are completed. Break terminates the application. Pause button doesn't work anymore. (see this entry forum)
    This problem may appear only after enforcement has become more complex and the schedule has changed - the fresco made model works and does not reveal the question.

    The cure: first of all I thought to preview the elements of the queue before they are scrapped selectively, one by one in the loop to stop, but that usually is not working either, because the output can happen precicely in the laps of time between overview and dequeue - don't forget no outputs are displayed on the front of the queue.

    I think the best option is to replace the flush of the queue in the Stop messages with a selective messages waiting managers one by one and check if the output is - if so, reseat it in the front of the queue. All other messages are discared. That look like this, have seen interesting parts...

    Here is the message loop to stop with the problem highlighted.

    As I'm not mistaken, I think it's better that NEITHER updates the model to avoid this problem.

    Here is the case of the resting State in the case of stop message:

    Us do not hang the CPU run a constant stream of messages ineffective because we only "Log" enqueue messages when we are in the valid state logging (a State of rest here is again a passthrough).

    The worst case, it's that there are number of register requests already in the queue when the system shuts down. After receiving the stop idling message, state transitions and other Log messages become non - ops due to the State.

    I consider the opportunity to post a few screws update

    ~ Simon

  • AS2, HTTPS and AS2 + HTTP

    Hi all

    Can someone help me understand this please.

    AS2 is a message encryption protocol
    HTTP and HTTPS are the transport protocol
    What happens when I select AS2 + HTTP and what happens when I select AS2 + HTTPS
    And what haapen if I select the Protocol of business as EDIx12 Exchange credits and Exchange as 'Generic' Protocol, HTTP and HTTPS transport protocol

    Can B2B pick up OAGIS 9.0 (IN.) FTP file and drop an OAGIS 9.0 (BOD confirmed) in a FTP?
    You can enqueue OAGIS 7.2 B2B (IN.) transaction by you connecting to XML Gateway and Dequeue a 7.2 OAGIS (consistent DBO) on Oracle advance queue?
    Can B2B pick up a flat-file delimited pipe of FTP?

    Global B2B, kind of like we have an MDN to the AS2, do we have a similar setup when we connect to a SFTP trading partner?


    Thanks in advance
    CNU

    Hi Alain,

    The main difference is that there is no support acknowledgement with the generic Exchange Protocol but AS2 supports the recognition level Exchange (DND). Second is that in Exchange for the AS2, you are using AS2 for TP identifiers in generic Exchange, he must use generic identifiers. In AS2, you can keep the name of file (part of AS2 header), but this support is not there in generic Exchange.

    Kind regards
    Anuj

  • Windows Media Player 11 - right click "Add/enqueue" option missing - cannot load the contents of the folder

    Hello

    Windows Media Player 11.0.6002.18005 for my Vista 64-bit system worked very well for me.  I could right click on any folder containing my Mp3 files and select 'Add to the reader' or 'enqueue' and it would then open and read my files that are in the folder.

    However, for some reason this right click on the option is now missing from my right click menu.

    Someone knows how to fix this?

    Thank you!

    Alright!

    It's a simple solution... I had apparently made a universal change to display the parameters of the files from my Vista, and it removed the 'Music Details' option in the combo box with area to "Customize" options files in the properties...

    I just changed the "Music Details" option for the kind of file, I want it to be... and voila!  .. "Add to Windows Media Player play list" and "Play with Windows Media Player" options are available again for me via a right-click on these files.

    W000t.

  • Difference between AQ$ TableName and TableName of the queue

    Our BPEL process is listening for the event of Oracle ebiz business. Noted that

    Arise-> Message available in wf_deferred (name of the queue table)-> Message available in wf_bpel_qtab (name of the queue table)-> BPEL called proceeding.

    After the process described above, noted that State record wf_bpel_qtab is 0 and there is no value in waiting times. On the other hand, according to AQ$ WF_BPEL_QTAB, for the same message that the State is treated and dequeue time is met.

    1. why there is difference of data AQ$ TableName and TableName queue
    2. is there any process to ensure that data queued TableName and AQ$ TableName are synchronized
    3. when the data will be deleted from the TableName queue? Currently, the retention of the queue value is 0.

    Thank you.

    Hello

    In response:

    * 1. Why there is difference of data AQ$ TableName and queue TableName. *
    The queue_table_name of $ aq is a VIEW based on the QUEUE_TABLE and join other objects queue, you should not query the table of the queue directly because the values here are open to interpretation, until you link them with other available data, so why oracle creates the AQ$ views that you can use.

    * 2. Is there any process to ensure that data queued TableName and AQ$ TableName are in sync *.
    You do not need to "synchronize" a data views with its table, a view is simply a stored SQL statement so when selected you get the data from the table right now.

    * 3. When the data will be deleted from the TableName queue? Currently, the retention of the queue value is 0.*
    The PROCESSED data are removed by background qmon processes when all the messages in the initial queue have been processed, for example if you have multiple subscribers etc. must all were treated to be eligible for deletion, background qmon processes depend on the database parameter aq_tm_processes - the optimum setting for which is oracle version dependent.

    I hope this helps.

    Paul

  • How labview processes images of queue queue?

    LabVIEW makes a copy of a picture every time that it enqueues (quid dequeue) it? In other words, if I just create a single image on the acquisition, the emptiness of this original will cause the lost images in the queue?

    I think I have a loop (Subvi) to make the image acquisition and the other loop to process the image.  The acquisition will take 30 images (for LEDS of different) in bread, send this image Board to a queue and then continue to acquire. The other loop will remove it when he has the time. At this queue/waiting to treat slowly down the acquisition (for example wait for the copy of the image of the entire table)? How to make a higher priority acquisition Subvi.

    It depends on what you are queue.

    In the messages I've seen where people had problems, they were the queue a reference.  No, I don't know exactly what kind of reference it was.  Maybe it was a reference IMAQ.

    If you are replacing the real data for the image table, I think you'll be fine and will not need to do anything special.

    Best thing to do is to try and after back if you have problems with a sample of your code.

  • data flow problem, queuing Subvi primary VI

    Ive stuck on a very simple data flow problem here, I would like to convey the data queued in the Subvi and dequeue in the main loop of the vi consumer. Ive attached the vi, since im already stuck on this problem, I was hoping I could learn a few things, especially implementation action engine in this situation

    Thank you.

    Your Subvi makes no sense since your loop will always leave after the first iteration and you always initialize your counter to 0 whenever run you it. This is a problem.

    Your code also suffers from several places that are made by the queue data. You will get undeterministic behavior since you do not know which dequeue will get the first data. In general, for a producer/consumer using the architecture queued one or more loops loops should be given enqueueing to the queue. A single loop must be made of data. These loops shuold run in parallel to each other. In your code, you can only run your Subvi whenever you press the Start button and as said you will always show the value 1 to the queue. What you need to do, is to have your Subvi managed independently once it is started. Use "Start Asychronous CAll" to start your Subvi when the Start button is pressed then let it just run. Have it post the meter to the queue. Your lower loop in main VI should remove the values and display them. You need not wait in this lower loop since it is the purpose of the dequeue. This loop will be inactive if there is no current data and run only when the data is in the queue.

    In the upper loop of your VI main remove the dequeue and the queue. You don't need them as the Subvi is all that is necessary to validate the data in the queue.

    Try this:

Maybe you are looking for