Skip to content

Instantly share code, notes, and snippets.

@Halama
Halama / node.json
Last active August 29, 2015 13:55
Elasticsearch - devel
{
"run_list": [ "recipe[java]",
"recipe[monit]",
"recipe[elasticsearch]",
"recipe[elasticsearch::plugins]",
"recipe[elasticsearch::monit]" ],
"java": {
"install_flavor": "openjdk",
"jdk_version": "7"
@Halama
Halama / sapi-upload.java
Created February 4, 2014 10:00
Example of CSV file import into Keboola Storage API table in Java
package javaapplication1;
import java.io.*;
import java.net.*;
import org.apache.http.Header;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
<?php
$csvFile = new CsvFile(__DIR__ . '/_data/simple.csv');
$cols = $csvFile->getHeader());
$csvFile->next();
while($csvFile->valid()) {
$row = $csvFile->current();
var_dump($row);

Skripty které pollují frontu a spouštějí joby nespouštíme cronem ale máme nahozený pevně daný počet workerů. O udržování workerů při životě se stará Upstart http://upstart.ubuntu.com/getting-started.html

Konfigurace jobu

Pod rootem vytvořit soubor /etc/init/nazev-jobu.conf s obsahem:

instance $N
respawn
exec su -s /bin/sh -c 'exec "$0" "$@"' deploy -- php /cesta/k/memu-skriptu
React = require 'react'
SearchRow = React.createClass
displayName: 'SearchRow'
propTypes:
query: React.PropTypes.string.isRequired
componentDidMount: ->
@refs.searchInput.getDOMNode().focus()
render: ->
@Halama
Halama / gist:c51fd28eef298d304e9d
Created May 27, 2015 11:42
Elastic search nested filter
POST /activity
{"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"activity" : {
"properties": {
"id": {
"type": "long"
},
@Halama
Halama / gist:1893059
Created February 23, 2012 14:23
Gooddata grey pages bookmarklet
javascript:(function(){
var match = document.location.hash.match(/(\/gdc\/md\/[a-z0-9]+\/)/i);
if (!match) {
alert('GD project id not found.');
}
window.open(match[0], '_tab');
})();
@Halama
Halama / csv.pegjs
Created October 3, 2012 07:29 — forked from trevordixon/csv.pegjs
Javascript CSV Parser generated by PEG.js
{
var separator = ',';
}
start
= comma
comma
= & { return separator = ','; } sv:sv { return sv; }
<?php
require_once __DIR__ . '/vendor/autoload.php';
ini_set('display_errors', true);
while (1) {
echo "Write start" . PHP_EOL;
$client = new Keboola\StorageApi\Client('token');
$client->writeTable('in.c-debug.vouchers', __DIR__ . '/vouchers.csv.gz');
@Halama
Halama / kbc-component.php
Last active December 11, 2015 17:18
Pseudocode - workflow of KBC runId propagation and event logging
<?php
$request; // some http request abstraction
$client = new \Keboola\StorageApi\Client('your_sapi_token');
// run id will be sent to Storage API with all requests
if (($runId = $request->getHeader('X-KBC-RunId')) !== false) {
// use run id from parent component
$client->setRunId($runId);
} else {