1. 12 Jul, 2019 1 commit
  2. 10 Jul, 2019 2 commits
  3. 29 May, 2019 2 commits
  4. 28 May, 2019 10 commits
    • Jamie Carl's avatar
      Merge branch '49-remote-service-runners' into 'master' · 18c7a876
      Jamie Carl authored
      Resolve "Remote service runners"
      
      Closes #49
      
      See merge request !23
      18c7a876
    • Jamie Carl's avatar
      Fixed up the vendor binaries · 794e19d2
      Jamie Carl authored
      These now work a bit better on linux
      794e19d2
    • Jamie Carl's avatar
      Tweaks to local logging in remote services · e089895a
      Jamie Carl authored
      e089895a
    • Jamie Carl's avatar
      Process exit wait is now configurable · d40ff08d
      Jamie Carl authored
      d40ff08d
    • Jamie Carl's avatar
      Fixed access key on sync from JS client. · 2abcc59d
      Jamie Carl authored
      2abcc59d
    • Jamie Carl's avatar
      Remote services now register correctly · 6cdc406c
      Jamie Carl authored
      Admin key is now called 'access key' and can be configured in the service config if it is different to the warlock admin/access key.
      6cdc406c
    • Jamie Carl's avatar
      Initial working of remote services · 3aa7c61f
      Jamie Carl authored
      This has a remote service working.  It can be started manually and then connects back to Warlock using sockets instead of pipes (the old way).  This was quite simple due to the work I did previously in creating connection classes for processes, which meant that I can now check if the service is running in remote mode and use a socket instead of a pipe.
      
      While the service works, it isn't registering as a service and only has typical user rights at the moment.
      3aa7c61f
    • Jamie Carl's avatar
      Merge branch '50-remove-dependency-on-hazaar-mvc-versions' into 'master' · 90bda0b7
      Jamie Carl authored
      Resolve "Remove dependency on Hazaar MVC versions"
      
      Closes #50
      
      See merge request !22
      90bda0b7
    • Jamie Carl's avatar
      Moved dependencies into Warlock library · aa374add
      Jamie Carl authored
      There was really only tw things that needed to happen here.
      
      * Hazaar\Application::runStdin() was moved into the Warlock library.  It was added as Hazaar\Warlock\Process::runner() and was essentially unchanged.  Only changes were that '$this', which was the Application, needed to be provided as an argument instead, which was done so from Runner.php.
      * Hazaar\Application\Protocol was also moved into Warlock as Hazaar\Warlock\Protocol and all references updated.
      
      Because these two dependencies are now in Warlock, their existence in Core is neither required nor a concern.  If they are still there, they are simply not used.
      
      This means that going forward, Warlock 3 will be backwards compatible with pretty much any version of Hazaar MVC core, however I am limiting this to Core 2.1 which is pretty old but still the earliest known release on packagist.
      aa374add
    • Jamie Carl's avatar
      Merge branch... · d836f0a3
      Jamie Carl authored
      Merge branch '48-removing-socket-based-control-connections-for-inter-process-communication' into 'master'
      
      Resolve "Removing socket-based control connections for inter-process communication"
      
      Closes #48
      
      See merge request !21
      d836f0a3
  5. 24 May, 2019 2 commits
  6. 23 May, 2019 9 commits
  7. 22 May, 2019 5 commits
    • Jamie Carl's avatar
      Improved server-side buffered reads from piped services · 085d74c5
      Jamie Carl authored
      We now correctly buffer reads and process using stream_get_contents which allows us to get access to the pipe buffer after the pipe has closed.  This prevents an error on the final recv() when closing down a process that may have sent some packets (usually log output) right before it shutdown.
      085d74c5
    • Jamie Carl's avatar
      Minor tweak to input buffer in service pipes · 7f9fe353
      Jamie Carl authored
      I have no idea how this was not causing a problem, but it should now correctly strip the carriage return.
      7f9fe353
    • Jamie Carl's avatar
      b637ed73
    • Jamie Carl's avatar
      Tweaks to socket connection startup checks · 0de4a501
      Jamie Carl authored
      0de4a501
    • Jamie Carl's avatar
      Services now using pipes for bi-directional comms · 9c6f4291
      Jamie Carl authored
      Finally got this done.  The pipe receiver is outside the main select loop so there can be some lag in receiving messages from services, but I will fix this later.  Right now, the receiver is called and allows a process to handle incoming data from the pipe instead of a socket.  This means that there is now bi-directional communication between services and Warlock master.
      
      Along with this, I have created the concept of "connections" and there is currently two types of connections.  A socket and a pipe.  Services use pipes for comms at the moment, and Control uses a socket.  However to solve #49 it should be possible to get a service to choose what it wants to use, based on config settings.  This means we can run a service and connect via a socket.
      9c6f4291
  8. 21 May, 2019 2 commits
  9. 17 May, 2019 5 commits
  10. 16 May, 2019 1 commit
  11. 03 May, 2019 1 commit
    • Jamie Carl's avatar
      Fixed interval actions from potentially getting unscheduled · d13838e9
      Jamie Carl authored
      This was dumb.  When an interval action was scheduled it added the interval to the last scheduled time instead of the current time.  THis meant that if the action took longer than the interval to actually complete, the de-schedular would remove the action because it's next scheduled exec time was in the past.
      
      2 fixes here, just for robustness
      * De-schedular ignores interval actions scheduled in the past
      * Interval actions reschedule using `time()` instead of the last exec time.
      d13838e9