Skip to content

Instantly share code, notes, and snippets.

@kenota
kenota / gist:3111617
Created July 14, 2012 14:33
starting scheduled task
final Handler handler = new Handler(hThread.getLooper());
final long oneMinuteMs = 60 * 1000;
Runnable eachMinute = new Runnable() {
@Override
public void run() {
Log.d(TAG, "Each minute task executing");
handler.postDelayed(this, oneMinuteMs);
}
};
@kenota
kenota / gist:3111655
Created July 14, 2012 14:36
Creating Handler
HandlerThread hThread = new HandlerThread("HandlerThread");
hThread.start();
Handler handler = new Handler(hThread.getLooper());
@kenota
kenota / gist:3111727
Created July 14, 2012 14:57
sendMessageDelayed code
public final boolean sendMessageDelayed(Message msg, long delayMillis) {
if (delayMillis < 0) {
delayMillis = 0;
}
return sendMessageAtTime(msg, SystemClock.uptimeMillis() + delayMillis);
}
@kenota
kenota / gist:3157873
Created July 22, 2012 01:33
builder vs buffer
package com.binarybuffer.test.bufferbuilder;
import org.apache.commons.math3.stat.descriptive.StatisticalSummary;
import org.apache.commons.math3.stat.descriptive.SummaryStatistics;
import org.junit.Test;
/**
* Unit test for simple App.
@kenota
kenota / gist:3165329
Created July 23, 2012 18:40
query message
message query {
required string request = 1;
optional int64 limit = 2
}
// msg contains Parsed Query protobuf message
String query = msg.getQuery();
Long limit = msg.getLimit();
Long limit = msg.hasLimit() ? msg.getLimit() : null;
def message = Message.lock(messageId)
processMessage(message)
@kenota
kenota / gist:4281636
Created December 14, 2012 01:03
How to query FOR UPDATE NOWAIT in Grails using PostgreSQL
import org.hibernate.LockMode
// Some code skipped
Message.withTransaction {
try {
def msg = Message.withCriteria {
eq "id", Long.valueOf(messageId)
delegate.criteria.lockMode = LockMode.UPGRADE_NOWAIT
}
@kenota
kenota / NoWaitPgDialect.java
Created December 14, 2012 01:14
PostgreSQL dialect which supports "FOR UPDATE NOWAIT" syntax for PostgreSQL
package com.binarybuffer.postgres;
import org.hibernate.LockMode;
import org.hibernate.dialect.PostgreSQLDialect;
/**
* Simple extension to standard {@link PostgreSQLDialect} adding support for
* {@link LockMode#UPGRADE_NOWAIT} lock mode which is achieved using
* "FOR UPDATE NOWAIT" syntax in PostgreSQL
*