<feed xmlns='http://www.w3.org/2005/Atom'>
<title>WebStat analyser/test, branch webstat-0.5.1</title>
<subtitle>WebStat web site access analyser</subtitle>
<id>http://git.randomdan.homeip.net/repo/webstat/atom?h=webstat-0.5.1</id>
<link rel='self' href='http://git.randomdan.homeip.net/repo/webstat/atom?h=webstat-0.5.1'/>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/'/>
<updated>2026-05-13T14:21:06Z</updated>
<entry>
<title>Fix checking of background job completeness</title>
<updated>2026-05-13T14:21:06Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-05-13T14:21:06Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=3e7a1ce999b2223b321573de19cef840021f77f5'/>
<id>urn:sha1:3e7a1ce999b2223b321573de19cef840021f77f5</id>
<content type='text'>
OK, this is on me. future::valid does not tell you if the thread has
completed and the result is ready. It tells you if there is some state
you can get() maybe later. Here we replace those checks with a 0s wait
and a test to see if the status is ready.
The exit steps are updated to reflect this. Calling reset will invoke
the future's destructor, which blocks until the thread is joined as
needed.
This should hopefully address the issue where the main thread would
still block if it attempted to runJobAsNeeded for a job that was still
running.
</content>
</entry>
<entry>
<title>Start curl operations from any thread</title>
<updated>2026-05-02T22:13:08Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-05-02T22:13:08Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=af422b45c7fb406dae35dc3f811e50d92e854f58'/>
<id>urn:sha1:af422b45c7fb406dae35dc3f811e50d92e854f58</id>
<content type='text'>
Ingest is now background only, so don't limit where they're started
from. Adds some unfortunate locking around the curl maps.
</content>
</entry>
<entry>
<title>Ingest log lines in a background thread</title>
<updated>2026-05-02T17:58:21Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-05-02T17:58:21Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=4675ab65ea5e807e0d457845a0ca84edcf1262c9'/>
<id>urn:sha1:4675ab65ea5e807e0d457845a0ca84edcf1262c9</id>
<content type='text'>
This prevents halting reading input during data insertion.
</content>
</entry>
<entry>
<title>Rename jobIngestParkedLines to jobReadParkedLines</title>
<updated>2026-05-01T16:13:29Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-05-01T16:13:29Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=5c0206f48dc7f90009629d0a74bdc1dd6b4f67ea'/>
<id>urn:sha1:5c0206f48dc7f90009629d0a74bdc1dd6b4f67ea</id>
<content type='text'>
Actual ingest is performed by the main process, jobReadParkedLines just
reads the park file and adds it to the queue.
</content>
</entry>
<entry>
<title>Append unparked lines to queue in finalise function</title>
<updated>2026-05-01T16:01:56Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-05-01T15:58:01Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=0e768a00fab74818533458b5b40c84556b2137e0'/>
<id>urn:sha1:0e768a00fab74818533458b5b40c84556b2137e0</id>
<content type='text'>
Fixes issue where queuedLines would be accessed from background thread.
</content>
</entry>
<entry>
<title>Return a callable from jobs</title>
<updated>2026-05-01T14:31:02Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-05-01T14:31:02Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=ed3598ac6f77f62b0c4fe32d4dab05784e5fa51d'/>
<id>urn:sha1:ed3598ac6f77f62b0c4fe32d4dab05784e5fa51d</id>
<content type='text'>
Allows safely running finalisation code in the main thread if required.
</content>
</entry>
<entry>
<title>Replace use of crc32 for entity id</title>
<updated>2026-04-15T11:05:20Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-04-15T11:03:21Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=5b2166496e5f3ff2c4276e0b5b28f109c70673d5'/>
<id>urn:sha1:5b2166496e5f3ff2c4276e0b5b28f109c70673d5</id>
<content type='text'>
Entity value is MD5 hashed same as DB unique key, but the id itself is
now taken from the DB primary key which is sequence generated.
</content>
</entry>
<entry>
<title>Return path of parked lines log file from parkQueuedLogLines</title>
<updated>2026-04-10T19:22:35Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-04-10T19:22:35Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=72bfa9dd305258789b0d2e80f8af13962e5aac42'/>
<id>urn:sha1:72bfa9dd305258789b0d2e80f8af13962e5aac42</id>
<content type='text'>
Or the last errno on failure.
</content>
</entry>
<entry>
<title>Parse escaping in query strings</title>
<updated>2026-03-27T11:43:18Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan.goodliffe@octal.co.uk</email>
</author>
<published>2026-03-27T11:43:18Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=1e551e618a63c869fde6a4b327566b38696a5f45'/>
<id>urn:sha1:1e551e618a63c869fde6a4b327566b38696a5f45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revise stats and add signal handlers to log them and reset them</title>
<updated>2026-03-25T18:44:15Z</updated>
<author>
<name>Dan Goodliffe</name>
<email>dan@randomdan.homeip.net</email>
</author>
<published>2026-03-25T18:44:15Z</published>
<link rel='alternate' type='text/html' href='http://git.randomdan.homeip.net/repo/webstat/commit/?id=426a6a3d9309e3f7cf5fc89d6a687c7895785cc3'/>
<id>urn:sha1:426a6a3d9309e3f7cf5fc89d6a687c7895785cc3</id>
<content type='text'>
Also logs them on main loop exit.
</content>
</entry>
</feed>
