Skip to content

Latest commit

 

History

History
144 lines (110 loc) · 3.78 KB

todo.org_archive

File metadata and controls

144 lines (110 loc) · 3.78 KB

Archived entries from file /home/chiya/RustroverProjects/status/todo.org

[X] proper arguments

Addressing the elephant in the room, this is probably wanted. But this would require making a daemon, 2 applications (Or an alternative like HTTP) instead of 2 threads

SOLUTION: bash script, check the file called run

See the run script

[X] Arguments for commands

Arguments for commands defined in `settings.json` doesn’t works

We want to be able to define such commands:

{
  "interval": 600,
  "timeout": 3000,
  "services": [
    {
      "name": "Website 1",
      "command": "/path/to/my/script.py --my-arg argument"
    },
    {
      "name": "Website 2",
      "command": "commands/web2.sh --wow --cool"
    }
  ]
}

SOLUTION: Optional key in settings.json. Using the example above we do:

{
  "interval": 600,
  "timeout": 3000,
  "services": [
    {
      "name": "Website 1",
      "command": "/path/to/my/script.py",
      "args": [
        "--my-arg", "argument"
      ]
    },
    {
      "name": "Website 2",
      "command": "commands/web2.sh",
      "args": [
        "--wow", "--cool"
      ]
    }
  ]
}

[X] Providing settings path as an argument

In some cases we want to spesify the location of the settings.json instead of letting it always be next to the executable.

We want to be able to run the application like `./status /path/to/settings/file.json`

SOLUTION: There are now 2 argument parsers, one for the daemon itself, and one for for communication

[X] Time interval per service

When running a lot of different tests independent from each other, it might not be a bad idea to have different check intervals on them. Some services, we may want to check frequent, while others that might cause high load will be ran less often.

We hope to implement an option for each service in settings.json

SOLUTION: Multithreaded testing for each test acting independent from each other while using shared memory

[X] Pause on no internet

We may want to add a setting to pause checking if there is no internet. Sometimes an executable test may need internet to work properly

SOLUTION: Added “online” crate that checks for the network activity. Also added new setting “pause_on_no_internet”. If there is no internet, next interval happens 5 times earlier

  • Consider lowering interval significantly during loss of internet.
  • Or, instantly test again when there is internet again

[X] Some way to easily show failed services

NO Bash script support error code returns

Right now the bash script only handles exit code 0, 1 and 124. These are success, file not found and timeout. We want to pass the exit code from the rust application to bash somehow too