Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 这是拍卖行。有没有办法找出哪些变量留在堆中,以便在每次迭代结束时删除它们? <script> /* RELOAD PAGE EVERY 65 MINUTES */ setTimeout(function(){ window.lo_Multithreading_Memory_Coldfusion_Garbage Collection_Jvm - Fatal编程技术网

Multithreading 这是拍卖行。有没有办法找出哪些变量留在堆中,以便在每次迭代结束时删除它们? <script> /* RELOAD PAGE EVERY 65 MINUTES */ setTimeout(function(){ window.lo

Multithreading 这是拍卖行。有没有办法找出哪些变量留在堆中,以便在每次迭代结束时删除它们? <script> /* RELOAD PAGE EVERY 65 MINUTES */ setTimeout(function(){ window.lo,multithreading,memory,coldfusion,garbage-collection,jvm,Multithreading,Memory,Coldfusion,Garbage Collection,Jvm,这是拍卖行。有没有办法找出哪些变量留在堆中,以便在每次迭代结束时删除它们? <script> /* RELOAD PAGE EVERY 65 MINUTES */ setTimeout(function(){ window.location.reload(1); }, 3900000); </script> <!--- GET ACTIVE ACCOUNTS ---> <cfquery name="getLogins" dataso

这是拍卖行。有没有办法找出哪些变量留在堆中,以便在每次迭代结束时删除它们?
<script>
  /* RELOAD PAGE EVERY 65 MINUTES */
  setTimeout(function(){
    window.location.reload(1);
  }, 3900000);
</script>

<!--- GET ACTIVE ACCOUNTS --->
<cfquery name="getLogins" datasource="myDB">
  SELECT * FROM Logins WHERE active = 1
</cfquery>

<!--- LOOP THROUGH ACCOUNT --->
<cfloop query="getLogins">

  <!--- HAVE A SLEEP SO IP DOESN'T GET FLAGGED FOR SENDING TOO MANY REQUESTS AT ONCE --->
  <cfset Sleep(30000) />

  <!--- CREATE THREAD FOR ACCOUNT --->
  <cfthread
    name="#getLogins.accountName#"
    action="run"
    accountName="#Trim(getLogins.accountName)#"
    email="#Trim(getLogins.email)#"
    password="#Trim(getLogins.password)#"
    resourceId="#Trim(getLogins.resourceID)#">

    <!--- DEFAULT SESSION VARIABLES --->
    <cfset SESSION["#attributes.accountName#LoggedIn"] = 0 />
    <cfset SESSION["#attributes.accountName#LoginAttempts"] = 0 />

    <!--- WHILE ACCOUNT NOT LOGGED IN AND LESS THAN 8 LOGIN ATTEMPTS MADE --->
    <cfscript>
      while (SESSION['#attributes.accountName#LoggedIn'] EQ 0 AND SESSION['#attributes.accountName#LoginAttempts'] LT 8) {

        // ATTEMPT LOGIN
        THREAD.logInAccount = Application.cfcs.Login.logInAccount(attributes.email,attributes.password);

        // IF LOGIN ATTEMPT UNSUCCESSFUL
        if (THREAD.logInAccount EQ 0) {
          // INCREASE ATTEMPT COUNT
          SESSION['#attributes.accountName#LoginAttempts'] = SESSION['#attributes.accountName#LoginAttempts'] + 1;
        }

        // ELSE IF RETURNED VALUE IS 481 THEN ACCOUNT IS LOCKED
        else if (THREAD.logInAccount EQ 481) {
          // SET LOGIN ATTEMPT COUNT TO STOP LOOP
          SESSION['#attributes.accountName#LoginAttempts'] = 8;
          // UPDATE ACCOUNT TO MARK AS LOCKED
          THREAD.updLogin = Application.cfcs.Login.updLogin(attributes.email);
        }
      }
    </cfscript>

    <!--- IF ACCOUNT LOGGED IN --->
    <cfif SESSION['#attributes.accountName#LoggedIn'] EQ 1>

      <!--- SET ID FOR SEARCHING --->
      <cfset THREAD.definitionID = attributes.resourceID - 1610612736 />

      <!--- WHILE ACCOUNT LOGGED IN --->
      <cfloop condition="SESSION['#attributes.accountName#LoggedIn'] EQUALS 1">

        <!--- GET LATEST LOWEST BUY NOW PRICE --->
        <cfquery name="THREAD.getMinBIN" datasource="FUT" cachedWithin="#CreateTimeSpan(0,0,1,0)#">
          SELECT TOP 1 * FROM v_FUT14BINPrices WHERE resourceID = #attributes.resourceId# ORDER BY lastUpdated DESC
        </cfquery>

        <!--- INCLUDE FILE THAT CALCULATES BUYING AND SELLING PRICES --->
        <cfinclude template="sellingPrices.cfm" />

        <!--- IF BIDDING PRICE HAS BEEN SET --->
        <cfif StructKeyExists(THREAD,"biddingPrice")>

          <!--- MAKE SEARCH REQUEST, TIMING THE REQUEST --->
          <cfset THREAD.requestStart = GetTickCount() />
          <cfset THREAD.search = Application.cfcs.Search.dosearchOld(attributes.resourceId,THREAD.biddingPrice,0) />
          <cfset THREAD.requestDuration = GetTickCount() - THREAD.requestStart />

          <!--- IF SEARCH CONTAINS FILE CONTENT  --->
          <cfif StructKeyExists(THREAD.search,"FileContent")>

            <!--- DECLARE NUMBER OF RESULTS VARIABLE --->
            <cfset THREAD.numResults = 0 />

            <!--- IF JSON RETURNED --->
            <cfif IsJSON(THREAD.search.FileContent)>

              <!--- DESERIALIZE JSON --->
              <cfset THREAD.searchResults = DeserializeJSON(THREAD.search.FileContent) />

              <!---  IF PLAYER SEARCH RETURNS AUCTIONINFO STRUCT --->
              <cfif StructKeyExists(THREAD.searchResults,"auctionInfo")>

                <!--- SET NUMBER OF CARDS RETURNED FROM SEARCH --->
                <cfset THREAD.numResults = ArrayLen(THREAD.searchResults.auctionInfo) />
                <cfset THREAD.statusCode = "Successful" />
                <cfif THREAD.numResults EQ 0>
                  <cfset THREAD.statusCode = "Successful - No Results" />
                </cfif>

              <!--- ELSE IF ERROR CODE RETURNED --->
              <cfelseif StructKeyExists(THREAD.searchResults,"code")>

                <cfset THREAD.statusCode = THREAD.searchResults.code />

                <!--- IF CODE 401 THEN SESSION HAS EXPIRED --->
                <cfif THREAD.statusCode EQ 401>
                  <!--- SET SESSION AS LOGGED OUT AND ATTEMPT SESSION REFRESH --->
                  <cfset SESSION['#attributes.accountName#LoggedIn'] = 0 />
                  <cfset THREAD.logInAccount = Application.cfcs.Login.logInAccount(attributes.email,attributes.password) />
                </cfif>

              <!--- ELSE SOMETHING ELSE HAS HAPPENED --->
              <cfelse>
                <cfset THREAD.statusCode = "Something Else - " & THREAD.searchResults.code />
              </cfif>

              <!--- IF RESULTS RETURNED --->
              <cfif THREAD.numResults GT 0>

                <!--- LOOP ROUND RESULTS AND CHECK IF MATCH BUYING CRITERIA --->
                <cfloop index="i" from="1" to="#THREAD.numResults#">

                  <!--- ***SAFETY CHECK*** - ENSURE ID OF CURRENT CARD IS SAME AS ONE SEARCHING FOR --->
                  <cfif THREAD.searchResults.auctionInfo[i].itemData.resourceID EQ attributes.resourceId AND THREAD.getMinBIN.resourceID EQ attributes.resourceId>

                    <!--- ENSURE BIN PRICE SET AND IS LESS THAN SET BUYING PRICE --->
                    <cfif THREAD.searchResults.auctionInfo[i].buyNowPrice GT 0 AND THREAD.searchResults.auctionInfo[i].buyNowPrice LTE THREAD.biddingPrice>

                      <!--- SET AUCTION END TIME --->
                      <cfset THREAD.timeLeft = THREAD.searchResults.auctionInfo[i].expires />
                      <cfset THREAD.auctionEnds = DateAdd("s",THREAD.timeLeft,Now()) />
                      <!--- BUY CARD --->
                      <cfset THREAD.buyCard = Application.cfcs.Bid.doBIN(THREAD.searchResults.auctionInfo[i].tradeID,THREAD.searchResul ts.auctionInfo[i].buyNowPrice,THREAD.searchResults.auctionInfo[i].startingBid,THREAD.searc hResults.auctionInfo[i].itemData.ID,THREAD.searchResults.auctionInfo[i].itemData.resourceI D,THREAD.startPrice,THREAD.binPrice,THREAD.lowestBIN,THREAD.searchResults.auctionInfo[i].i temData.discardValue,THREAD.auctionEnds,THREAD.requestStart,THREAD.requestDuration) />

                    </cfif>

                  </cfif>

                </cfloop>

              </cfif>

            <cfelse>
              <cfset THREAD.statusCode = THREAD.search.FileContent />
            </cfif>

            <cfset THREAD.sleepDuration = 1000 - THREAD.requestDuration />
            <cfif THREAD.sleepDuration GT 0><cfset Sleep(THREAD.sleepDuration) /></cfif>

          </cfif>

          <!--- INSERT SEARCH RECORD --->
          <cfset THREAD.insSearchRecord = Application.cfcs.Search.insSearchRecord(THREAD.definitionID,THREAD.statusCode,THREAD.requ estDuration,THREAD.numResults,THREAD.biddingPrice) />

        </cfif>

      </cfloop>

    </cfif>

  </cfthread>

</cfloop>