[aprssig] APRS Cron Object Injector
steve at dimse.com
Sun Mar 22 23:47:09 EDT 2015
On Mar 22, 2015, at 10:10 PM, Kenneth Finnegan <kennethfinnegan2007 at gmail.com> wrote:
> While helping am aprx user debug an RF-gate issue this week, it came
> to my attention that some users beacon objects into APRS using cron
> (The Unix task scheduler). This is far from ideal, since it means
> these objects are only being sent to APRS-IS and not being injected
> into the actual RF LAN, but the fatal flaw I see is that none of the
> cron scripts I've found online implement any form of dithering.
This has been a long standing situation, and is often not related to cron. A lot of clients will beacon at 0 seconds as they poll time checking the minute field for a change. MacAPRS early on went to sending its regular packets at the same second the program was started, randomly distributing the load. Newer clients often missed this subtlety, it is especially prevalent among CWOP clients where there is a strong surge between 0 and 10 seconds. There is the same issue on the larger scale with more reports at the top of the hour and every 5 minutes.
There are many ways to fix this for a cron job, for example using a sleep command at the start of the cron job which will result in packets at the same segment of a minute. My weather station report is run by a cron job, but it sleeps for 17 seconds before beginning its processing, the report hits the APRS IS 20-22 seconds after the minute.
One could also use rand() to generate a delay among any range of seconds desired. Another way is to skip cron, and run as a continuing process and sleep between packets. Even an even-minute sleep interval will drift because the processing time is added to the sleep time.
More information about the aprssig