Skip to content

Instantly share code, notes, and snippets.

@fabriziomachado
fabriziomachado / server-now.js
Created December 7, 2011 16:05
/application/servers/server-now.js
var nowjs = require("now"),
express = require('express'),
auth = require('basic-auth');
// create server
var server = express.createServer();
server.configure(function () {
server.use(express.logger());
server.use(auth.basicAuth);
server.use(express.bodyParser());
@fabriziomachado
fabriziomachado / node-resize.conf
Created December 7, 2011 16:04
/etc/init/node-resize.conf
description "node.js server-now"
start on started mountall
stop on shutdown
respawn
respawn limit 99 5
script
exec node <<APP_PATH>>/application/servers/server-now.js >> /var/log/node-resize.log 2>&1
@fabriziomachado
fabriziomachado / resize-image-job.conf
Created December 7, 2011 16:03
/etc/init/resize-image-job.conf
description "resize image worker gearman"
start on started mountall
stop on shutdown
respawn
respawn limit 99 5
script
exec php <<project_path>>/application/workers/resize_image_worker.php >> /var/log/resize-image-job.log 2>&1
@fabriziomachado
fabriziomachado / notifier.php
Created December 7, 2011 16:01
application/workers/notifier.php
<?php #if (!defined('BASEPATH')) { exit('No direct script access allowed'); }
class Notifier {
private $CI;
public function __construct()
{
$this->CI =& get_instance();
$this->CI->load->spark('restclient/2.0.0');
@fabriziomachado
fabriziomachado / resize_image_worker.php
Created November 19, 2011 20:42
application/workers/resize_image_worker.php
<?php
include_once dirname(__FILE__) . '/worker_helper.php';
$gmw = new GearmanWorker();
$gmw->addServer();
$gmw->addFunction("resize_image", "resize_image");
# waiting for job
while($gmw->work()){
if($gmw->returnCode() != GEARMAN_SUCCESS) break;
@fabriziomachado
fabriziomachado / worker_helper.php
Created November 19, 2011 20:41
application/workers/worker_helper.php
<?php
# load stack codeigniter
include_once dirname(__FILE__) . '/../third_party/CIUnit/bootstrap_phpunit.php';
require_default_class_job_this_worker();
function require_default_class_job_this_worker()
{
@fabriziomachado
fabriziomachado / resize_image_job.php
Created November 19, 2011 20:04
application/workers/resize_image_job.php
<?php #if (!defined('BASEPATH')) { exit('No direct script access allowed'); }
include_once dirname(__FILE__) . '/notifier.php';
class ResizeImageJob {
private $CI;
private $params;
private $notifier;
@fabriziomachado
fabriziomachado / ResizeImageJobSpec.php
Created November 19, 2011 19:51
spec/ResizeImageJobSpec.php
<?php
include_once dirname(__FILE__) . '/spec_helper.php';
include_once APPPATH . '/workers/resize_image_job.php';
require_once 'PHPSpec/Mocks/Functions.php';
use \Mockery as m;
class DescribeResizeImageJob extends \PHPSpec\Context
{
@fabriziomachado
fabriziomachado / spec_helper.php
Created November 19, 2011 19:24
spec/spec_helper.php
<?php
include_once dirname(__FILE__) . '/../application/third_party/CIUnit/bootstrap_phpunit.php';
require_once 'Mockery/Loader.php';
require_once 'Hamcrest/hamcrest.php';
$loader = new \Mockery\Loader;
$loader->register();
@fabriziomachado
fabriziomachado / _form_upload.php
Created November 10, 2011 20:38
application/views/jobs/_form_upload.php
<?php echo form_open_multipart('jobs/upload');?>
<input type="file" name="userfile" size="20" /> <br />
<input type="submit" value="upload" />
</form>