Announcement

Collapse
No announcement yet.

Garbage clean up

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Garbage clean up

    esignal desktop api doesn't seem to be cleaning up after me very well (or maybe i'm not cleaning up correctly)

    I execute

    intHandle = esignal.RequestHistory(strSymbol, "d", bt, 1, -1, -1)

    and receive the symbol data ok for most companies that are active. Some companies, however, don't return results and I end up time out the request after 2 minutes. To "Time out" the request I have my timer wait 2 minutes and execute this on requests still pending:

    esignal.releasehistory(inthandle)

    and a set the executing class to nothing.

    I do the same for requests that come back with a response. This works fine for those requests but "Timed out" requests don't get cleared out of the desktop API's memory. I can tell it's not clearing based on the "Sym ###" count on the bottom status bar. This eventually results in getting an error saying i'm requesting too many symbols (because it still thinks the old requests are valid) and crash the application (do to app memory full).

    Is there a way I can fire a clean up routine on the desktop API or Force a clean up?


    This is a small list of symbols that never returned and that I had to time out. Even though, of course, I will be removing these from further requests, I still need to fix this for the future.

    ALYNQ, ALGI, DIT, AMSWA, AOLA, AMTC, AMTC, AMBC, AMTA, ABH, AMPI, AMCE, ANCX, ACBA, AGCC, AII, ANSL, AIP, ARTL, AKIS, HOST, ALGI, ASAM, AMSWA, ASBP, AMTC, ASHE, AMTA, ASKJ, AMPI, ASPC, ANCX, AAME, AGCC, ATBC, ANSL, ALFC, ARTL, ANK, HOST, APCFY, ASAM, AUBN, ASBP, CFFI, ASHE, CAND, ASKJ, RKE, ASPC, CASS, AAME, CALA, ATBC, CCB, ALFC, CCFH, ANK, CGS, APCFY, CDSW, AUBN, CEBK, CFFI, GCFC, CAND, CIMT, RKE, CKFB, CASS, CLAS, CALA, CLSR, CCB, CNBF, CCFH, CCNE, CGS, ECC, CDSW, ESBK, CEBK, ENO, GCFC, ELAB, CIMT, ENT, CKFB, EQUI, CLAS, RCG, CLSR, FBSS, CNBF, FSCR, CCNE, FFDF, ECC, FFLC, ESBK, FWHT, ENO, FAVS, ELAB, FBSI, ENT, FCAP, EQUI, FCCO, RCG, FFBI, FBSS, FIFS, FSCR, FKFS, FFDF, FMSB, FNFI, FFLC, FWV, FWHT, FBMI, FAVS, FFDB, FBSI, FMCO, FCAP, FNBF

  • #2
    There is a ClearSymbolCache function. I do not know if it will work for those that never returned though as they are probably held in some pending state. Worth a try.

    Cheers... George

    Comment


    • #3
      That didn't do it. I found that even if i put in totally valid symbols and they return I have to pause for a second or two to let the desktop app rest and run whatever cleaning cycle it does then. I notice that while i let the program "rest" the SYM number on the bottom of the desktop app goes down.

      There is clearly a clean up process going on. Is there any way to tap into that?

      Comment


      • #4
        Releasing the handle of a timed out request

        So... has anyone found a solution to releasing the symbols associated with timed out requests? I'm seeing this in my project as well.

        Best regards,
        -Sean

        Comment


        • #5
          I currently have the same issue with Garbage clean up and symbols that do not come after being requested.

          Indeed to clean out the stream (monitored by handle), I request the daily and it will fill out the stream with daily data, after that I calll the ReleaseHistory (which is does well its job where handle is not pending).

          For some symbols like SGO-PAR or CA-PAR, they come sporadically and I really don't know why. However, these symbols have the right data in DataManager. Are data come from different sources depending on DataManager or API? or during open market hours?

          Any suggestions are appreciated.

          Manh-Hung

          Comment


          • #6
            All streaming data comes from the DataManager. For SGO-PAR or CA-PAR, when do you request such data? What do you mean by sporadic?

            Comment

            Working...
            X