Fix a bunch of godoc issues, removes exchange and queue names which were
no longer being utilized, and the GenB32ID function which was also not
being used. Renames some constant values to remove mixture of all caps
and underscores in constants.
Removes remaining code related to MIG worker components, including the
exchange elements in the scheduler and event submission. The worker
functionality is no longer supported.
If RabbitMQ suffers a network partition, the scheduler will remain in a
half broken state where no message can be consumed or published, but
other goroutines work fine. This patch introduce a new dummy event that
heartbeats the scheduler and terminates it if the publication of the
heartbeat fails. The hearbeat is a normal event that expires in rabbitmq
after 100 minutes, like any other event. It is published to a queue that
could eventually be consumed for monitoring.
This is a major change to the structure of the repository and the Makefile,
but a minor change in terms of functionalities. It simply changes the structure
of the directories to be compliant with Go's idiomatic build methods.
I also bought the domain `mig.ninja` and will now be using that as
a standard import path for everything. The magic to serve everything
under mig.ninja/mig will be documented elsewhere.