twtxtlist/src/worker.nim

47 lines
1006 B
Nim
Raw Permalink Normal View History

2016-02-07 15:37:07 +00:00
import db_sqlite, os, streams, threadpool, twtxt
2016-02-11 21:34:11 +00:00
proc updateTweetsOnce() {. gcsafe .} =
var db = open("./data/twtxt.db", nil, nil, nil)
var users = db.getAllRows sql"select * from users where username != 'twtxtlist'"
for user in users.items():
echo "updating " & $user
spawn db.updateTweetsByUser(user[1], user[2])
2016-02-07 15:37:07 +00:00
proc updateSystemUser() =
let
fname = "public" / "twtxt.txt"
db = open("data/twtxt.db", nil, nil, nil)
if fname.existsFile:
try:
fname.removeFile
except: quit "can't make my list"
var
fout = fname.newFileStream fmWrite
if fout.isNil:
echo "wtf it's nil?"
return
2016-02-09 18:23:47 +00:00
let tweets = db.getAllRows(sql"select * from tweets where username='twtxtlist'")
2016-02-07 15:37:07 +00:00
for tweet in tweets.items:
2016-02-07 20:07:14 +00:00
let tweetObj = tweet.fromDBRow()
echo tweetObj
fout.writeLine $tweetObj
2016-02-07 15:37:07 +00:00
fout.close
echo "Updated system user"
2016-02-06 23:14:55 +00:00
when isMainModule:
while true:
2016-02-07 15:37:07 +00:00
spawn updateTweetsOnce()
2016-02-09 17:29:21 +00:00
spawn updateSystemUser()
2016-02-06 23:14:55 +00:00
sleep 300_000 # 5 minutes