Skip to content

Instantly share code, notes, and snippets.

View vigneshwaranr's full-sized avatar

Vigneshwaran Raveendran vigneshwaranr

View GitHub Profile
@vigneshwaranr
vigneshwaranr / migrator.sh
Created August 24, 2012 18:34
Script to convert SQLITE dumps into PostgreSQL compatible dumps
#! /bin/sh
usage_error () {
echo 'Usage: sh migrator.sh <path to sqlite_to_postgres.py> <path to sqlite db file> <an empty dir to output dump files>'
echo
echo 'Example:'
echo '>sh migrator.sh sqlite_to_postgres.py ~/reviewboard.db /tmp/dumps'
echo
echo 'Tested on:'
echo 'Python 2.7.3'
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
// YESS :(
someFutureJob().map { value =>
operate(value)
}
def send(message: Message): Future[Boolean] = {
if (isValid(message)) {
producer.send(message).recover({case _ => false})
} else {
Future.successful(false) // fixed :)
}
}
def send(message: Message): Future[Boolean] = {
if (isValid(message)) {
producer.send(message).recover({case _ => false})
} else {
Future(false) // this is not good
}
}
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{ExecutionContext, Future}
class API(cacheService: CacheService, processor: Processor) {
def process(request: Request): Future[Response] = {
for {
dedupedRequest <- cacheService.isDuplicateRequest(request)
response <- processor.process(dedupedRequest)
_ = cacheService.setCacheForDeduplication(dedupedRequest)
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{ExecutionContext, Future}
class API(cacheService: CacheService, processor: Processor) {
def process(request: Request): Future[Response] = {
for {
dedupedRequest <- cacheService.isDuplicateRequest(request)
response <- processor.process(dedupedRequest)
_ = cacheService.setCacheForDeduplication(dedupedRequest) // now unplugged from the flow
def executeOperation(): Future[Boolean] = {
someHeavyCPUOperation()
Future(anotherOperation())
}
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{ExecutionContext, Future}
trait Request
trait Response
trait CacheService {
def isDuplicateRequest(request: Request)(implicit ec: ExecutionContext): Future[Option[Request]]
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{ExecutionContext, Future}
trait Request
trait Response
trait CacheService {
def myOwnEc: ExecutionContext
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
trait WaterSupply {
def turnOn(): Future[Unit]
}
trait PowerPlant {
def waterSupply: WaterSupply