Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/frontend/theseven/cursesui.py b/frontend/theseven/cursesui.py
- index ccbf054..588bf67 100644
- --- a/frontend/theseven/cursesui.py
- +++ b/frontend/theseven/cursesui.py
- @@ -86,7 +86,7 @@ class CursesUI(object):
- for pool in pools:
- bold = "B" if len(pool["children"]) > 0 else ""
- uptime = 1
- - try: uptime = (datetime.datetime.utcnow() - pool["starttime"]).total_seconds()
- + try: uptime = (time.time() - pool["starttime"])
- except: pass
- try: failedpercent = 100. * pool["failedreqs"] / pool["requests"]
- except: failedpercent = 0
- @@ -117,7 +117,7 @@ class CursesUI(object):
- for worker in workers:
- bold = "B" if len(worker["children"]) > 0 else ""
- uptime = 1
- - try: uptime = (datetime.datetime.utcnow() - worker["starttime"]).total_seconds()
- + try: uptime = (time.time() - worker["starttime"])
- except: pass
- try: stalepercent = 100. * worker["rejected"] / (worker["accepted"] + worker["rejected"])
- except: stalepercent = 0
- diff --git a/miner.py b/miner.py
- index f39310f..111bf1f 100755
- --- a/miner.py
- +++ b/miner.py
- @@ -94,7 +94,7 @@ class OutputRedirector(object):
- class Blockchain(object):
- def __init__(self, miner):
- self.miner = miner
- - self.lastlongpoll = datetime.datetime.utcnow() - datetime.timedelta(seconds = self.miner.longpollgrouptime)
- + self.lastlongpoll = time.time() - self.miner.longpollgrouptime
- self.longpollepoch = 0
- class Miner(object):
- @@ -184,12 +184,12 @@ class Miner(object):
- self.fetchersrunning = self.fetchersrunning + 1
- queuedelay = self.queuelength / self.jobspersecond
- while True:
- - now = datetime.datetime.utcnow()
- + now = time.time()
- best = None
- pool = None
- for p in self.pools:
- p.score = p.score * self.biasdecay
- - excessmhashes = p.mhashes - ((now - p.starttime).total_seconds() + queuedelay) * p.hashrate
- + excessmhashes = p.mhashes - ((now - p.starttime) + queuedelay) * p.hashrate
- score = excessmhashes - p.score
- if excessmhashes - max(0, p.score) >= 0:
- if p.priority > 0: score = max(0, score / p.priority)
- @@ -207,11 +207,11 @@ class Miner(object):
- def fetcher(self, pool):
- with self.queuelock:
- - if (datetime.datetime.utcnow() - pool.blockchain.lastlongpoll).total_seconds() > self.longpollgrouptime:
- + if (time.time() - pool.blockchain.lastlongpoll) > self.longpollgrouptime:
- pool.longpollepoch = pool.blockchain.longpollepoch
- epoch = pool.longpollepoch
- if epoch < pool.blockchain.longpollepoch:
- - pool.blockeduntil = pool.blockchain.lastlongpoll + datetime.timedelta(seconds = self.longpollgrouptime)
- + pool.blockeduntil = pool.blockchain.lastlongpoll + self.longpollgrouptime
- with self.fetcherlock:
- self.fetchersrunning = self.fetchersrunning - 1
- self.adjustfetchers()
- @@ -227,7 +227,7 @@ class Miner(object):
- pool.failedreqs = pool.failedreqs + 1
- pool.score = pool.score + self.getworkfailbias
- with self.queuelock:
- - pool.blockeduntil = datetime.datetime.utcnow() + datetime.timedelta(seconds = 3)
- + pool.blockeduntil = time.time() + 3
- if job != None:
- self.queuelock.acquire()
- if epoch == pool.blockchain.longpollepoch:
- @@ -272,9 +272,9 @@ class Miner(object):
- with self.queuelock:
- job.pool.longpollepoch = job.pool.longpollepoch + 1
- if job.pool.longpollepoch >= job.pool.blockchain.longpollepoch:
- - job.pool.blockeduntil = datetime.datetime.utcnow()
- + job.pool.blockeduntil = time.time()
- if job.pool.longpollepoch > job.pool.blockchain.longpollepoch:
- - job.pool.blockchain.lastlongpoll = datetime.datetime.utcnow()
- + job.pool.blockchain.lastlongpoll = time.time()
- job.pool.blockchain.longpollepoch = job.pool.longpollepoch
- for w in self.workers:
- try: w.cancel(job.pool.blockchain)
- diff --git a/pool/theseven/bcjsonrpc.py b/pool/theseven/bcjsonrpc.py
- index 9a58f9d..66e92f0 100644
- --- a/pool/theseven/bcjsonrpc.py
- +++ b/pool/theseven/bcjsonrpc.py
- @@ -43,7 +43,7 @@
- import sys
- import common
- import base64
- -import datetime
- +import time
- import json
- import threading
- import curses
- @@ -84,8 +84,8 @@ class JSONRPCPool(object):
- self.rejected = 0
- self.score = 0
- self.mhashes = 0
- - self.starttime = datetime.datetime.utcnow()
- - self.blockeduntil = datetime.datetime.utcnow()
- + self.starttime = time.time()
- + self.blockeduntil = time.time()
- self.difficulty = 0
- def getstatistics(self, childstats):
- diff --git a/worker/fpgamining/x6500.py b/worker/fpgamining/x6500.py
- index 8ecbfb2..93a6d09 100644
- --- a/worker/fpgamining/x6500.py
- +++ b/worker/fpgamining/x6500.py
- @@ -39,7 +39,6 @@ import common
- import binascii
- import threading
- import time
- -import datetime
- import hashlib
- import struct
- import atexit
- @@ -99,7 +98,7 @@ class X6500Worker(object):
- self.accepted = 0 # Number of accepted shares produced by this worker * difficulty
- self.rejected = 0 # Number of rejected shares produced by this worker * difficulty
- self.invalid = 0 # Number of invalid shares produced by this worker
- - self.starttime = datetime.datetime.utcnow() # Start timestamp (to get average MH/s from MHashes)
- + self.starttime = time.time() # Start timestamp (to get average MH/s from MHashes)
- # Statistics lock, ensures that the UI can get a consistent statistics state
- # Needs to be acquired during all operations that affect the above values
- @@ -251,7 +250,7 @@ class X6500FPGA(object):
- self.accepted = 0 # Number of accepted shares produced by this worker * difficulty
- self.rejected = 0 # Number of rejected shares produced by this worker * difficulty
- self.invalid = 0 # Number of invalid shares produced by this worker
- - self.starttime = datetime.datetime.utcnow() # Start timestamp (to get average MH/s from MHashes)
- + self.starttime = time.time() # Start timestamp (to get average MH/s from MHashes)
- self.temperature = None
- # Statistics lock, ensures that the UI can get a consistent statistics state
- @@ -484,7 +483,7 @@ class X6500FPGA(object):
- # In that case, just restart things to clean up the situation.
- if oldjob == None: raise Exception("Mining device sent a share before even getting a job")
- # Stop time measurement
- - oldjob.endtime = datetime.datetime.utcnow()
- + oldjob.endtime = time.time()
- # Pass the nonce that we found to the work source, if there is one.
- # Do this before calculating the hash rate as it is latency critical.
- if oldjob != None:
- @@ -503,7 +502,7 @@ class X6500FPGA(object):
- if self.seconditeration == True:
- with self.wakeup:
- # This is the second iteration. We now know the actual nonce rotation time.
- - delta = (oldjob.endtime - oldjob.starttime).total_seconds()
- + delta = (oldjob.endtime - oldjob.starttime)
- # Calculate the hash rate based on the nonce rotation time.
- self.mhps = 2**32 / 1000000. / delta
- # Tell the MPBM core that our hash rate has changed, so that it can adjust its work buffer.
- @@ -521,7 +520,7 @@ class X6500FPGA(object):
- self.seconditeration = True
- else:
- # Adjust hash rate tracking
- - delta = (oldjob.endtime - self.lasttime).total_seconds()
- + delta = (oldjob.endtime - self.lasttime)
- nonce = struct.unpack("<I", nonce)[0]
- estimatednonce = int(round(self.lastnonce + self.mhps * 1000000 * delta))
- noncediff = nonce - (estimatednonce & 0xffffffff)
- @@ -547,13 +546,13 @@ class X6500FPGA(object):
- self.fpga.writeJob(job)
- # Try to grab any leftover nonces from the previous job in time
- self.checknonces()
- - now = datetime.datetime.utcnow()
- + now = time.time()
- if self.job != None and self.job.starttime != None and self.job.pool != None:
- - mhashes = (now - self.job.starttime).total_seconds() * self.mhps
- + mhashes = (now - self.job.starttime) * self.mhps
- self.job.finish(mhashes, self)
- self.job.starttime = None
- # Acknowledge the job by moving it from nextjob to job
- self.job = self.nextjob
- self.job.starttime = now
- self.nextjob = None
- -
- \ No newline at end of file
- +
- diff --git a/worker/fpgamining/x6500hotplug.py b/worker/fpgamining/x6500hotplug.py
- index 55ea13e..0db0726 100644
- --- a/worker/fpgamining/x6500hotplug.py
- +++ b/worker/fpgamining/x6500hotplug.py
- @@ -36,7 +36,7 @@
- import sys
- import time
- -import datetime
- +import time
- import threading
- import worker.fpgamining.x6500
- @@ -75,7 +75,7 @@ class X6500HotplugWorker(object):
- self.accepted = 0 # Number of accepted shares produced by this worker * difficulty
- self.rejected = 0 # Number of rejected shares produced by this worker * difficulty
- self.invalid = 0 # Number of invalid shares produced by this worker
- - self.starttime = datetime.datetime.utcnow() # Start timestamp (to get average MH/s from MHashes)
- + self.starttime = time.time() # Start timestamp (to get average MH/s from MHashes)
- # Statistics lock, ensures that the UI can get a consistent statistics state
- # Needs to be acquired during all operations that affect the above values
- diff --git a/worker/theseven/simplers232.py b/worker/theseven/simplers232.py
- index 06a07b2..0b15b33 100644
- --- a/worker/theseven/simplers232.py
- +++ b/worker/theseven/simplers232.py
- @@ -297,7 +297,7 @@ class SimpleRS232Worker(object):
- # rate to get the number of MHashes calculated for that job and update statistics.
- now = datetime.datetime.utcnow()
- if self.job != None and self.job.starttime != None and self.job.pool != None:
- - mhashes = (now - self.job.starttime).total_seconds() * self.mhps
- + mhashes = (now - self.job.starttime) * self.mhps
- self.job.finish(mhashes, self)
- self.job.starttime = None
- @@ -322,7 +322,7 @@ class SimpleRS232Worker(object):
- # Do this before calculating the hash rate as it is latency critical.
- if self.job != None: self.job.sendresult(nonce, self)
- # Calculate actual on-device processing time (not including transfer times) of the job.
- - delta = (self.job.endtime - self.job.starttime).total_seconds() - 40. / self.baudrate
- + delta = (self.job.endtime - self.job.starttime) - 40. / self.baudrate
- # Calculate the hash rate based on the processing time and number of neccessary MHashes.
- # This assumes that the device processes all nonces (starting at zero) sequentially.
- self.mhps = struct.unpack("<I", nonce)[0] / 1000000. / delta
- @@ -349,7 +349,7 @@ class SimpleRS232Worker(object):
- if self.job.check != None: raise Exception("Validation job terminated without finding a share")
- # Stop measuring time because the device is doing duplicate work right now
- if self.job != None and self.job.starttime != None and self.job.pool != None:
- - mhashes = (datetime.datetime.utcnow() - self.job.starttime).total_seconds() * self.mhps
- + mhashes = (time.time() - self.job.starttime) * self.mhps
- with self.job.pool.statlock: self.job.pool.mhashes = self.job.pool.mhashes + mhashes
- self.mhashes = self.mhashes + mhashes
- self.job.starttime = None
Advertisement
Add Comment
Please, Sign In to add comment