The first thing to do is to install Git on the remote server.
Once you do that the rest of the process is split into three sections:
- Server set-up
- Local set-up (push commits)
- Server (pull commits)
| <?php | |
| /** | |
| * @author Alexis Gruet | |
| * | |
| * A simple implementation of the Weighted Round-Robin Scheduling in PHP 5.3+ | |
| * | |
| * The weighted round-robin scheduling is designed to better handle servers with different | |
| * processing capacities. Each server can be assigned a weight, an integer value that | |
| * indicates the processing capacity. Servers with higher weights receive new connections |
| <?php | |
| /** | |
| * Todo: Send a random user agent string and sleep a random amount between requests. | |
| */ | |
| if ($_SERVER['REQUEST_METHOD'] == 'POST') { | |
| // Extract and sanatize input: | |
| $domain = filter_input(INPUT_POST, 'domain', FILTER_SANITIZE_URL); | |
| $terms = filter_input(INPUT_POST, 'terms', FILTER_SANITIZE_STRING); | |
| // Setup Goutte (which also includes Guzzle): |
| //Simple AJAX Polling jQuery Plugin | |
| // example usage: | |
| /* $.ajaxPoll({ | |
| url: "/path", | |
| type: "GET", | |
| interval: 250, | |
| maxAttempts: 25, | |
| successCondition: function(result) { | |
| return result != "processing"; | |
| }, |
| // Long Polling (Recommened Technique - Creates An Open Connection To Server ∴ Fast) | |
| (function poll(){ | |
| $.ajax({ url: "server", success: function(data){ | |
| //Update your dashboard gauge | |
| salesGauge.setValue(data.value); | |
| }, dataType: "json", complete: poll, timeout: 30000 }); | |
| })(); |