The default journal behavior is to do no syncing of the journal, which can lead to lost items if there is a system or process crash after an item is added to the queue and the journal is flushed to disk.
Additionally, during journal rolling, the existing journal is renamed and items from it are played into a new empty journal with the original path. If there is a crash, then many items can be lost.
Both of these issues are fixed in my fork. For the second one, a temporary journal is made with a temporary filename which is then renamed into place when it has been completely written.
The default journal behavior is to do no syncing of the journal, which can lead to lost items if there is a system or process crash after an item is added to the queue and the journal is flushed to disk.
Additionally, during journal rolling, the existing journal is renamed and items from it are played into a new empty journal with the original path. If there is a crash, then many items can be lost.
Both of these issues are fixed in my fork. For the second one, a temporary journal is made with a temporary filename which is then renamed into place when it has been completely written.