public function start()
{
$env = $this->Environment();
$log = $this->log();
$args = array('dataTransferID' => $this->ID, 'logfile' => $this->logfile(), 'backupBeforePush' => $this->backupBeforePush);
if (!$this->AuthorID) {
$this->AuthorID = Member::currentUserID();
}
if ($this->AuthorID) {
$author = $this->Author();
$message = sprintf('Data transfer on %s (%s, %s) initiated by %s (%s), with IP address %s', $env->getFullName(), $this->Direction, $this->Mode, $author->getName(), $author->Email, Controller::curr()->getRequest()->getIP());
$log->write($message);
}
$token = Resque::enqueue('snapshot', 'DataTransferJob', $args, true);
$this->ResqueToken = $token;
$this->write();
$message = sprintf('Data transfer queued as job %s', $token);
$log->write($message);
}