Skip to content

Instantly share code, notes, and snippets.

View dmr3's full-sized avatar

Demian Riccardi dmr3

  • NIST
  • Boulder, CO
View GitHub Profile
@dmr3
dmr3 / Process a function that hits a database using MCE
Last active April 14, 2022 06:15
Running a function (that uses a database connection) in parallel using 8 processes. Note that the function is imported via a require during the initialization of the MCE::Loop
use warnings;
use strict;
use MCE::Loop;
use MCE::Shared;
MCE::Loop::init {
user_begin => sub{
require FOO::DB; FOO::DB->import("get_bar");
},
max_workers => 8,
#!/usr/bin/env perl
use Mojolicious::Lite;
any '/' => sub {
my $c = shift;
} => 'index' ;
websocket '/uploads' => sub {
my $c = shift;
$c->on( json => sub {
#!/usr/bin/env perl
use Mojolicious::Lite;
# jump off from example by Joel Berger in Intro to Mojolicious
any '/' => 'index';
websocket '/data' => sub {
my $self = shift;
my ($pi,$runs,$new_runs) = (0,0,500000);
my $timer = Mojo::IOLoop->recurring( 0.1 => sub {
#!/usr/bin/env perl
use Mojolicious::Lite;
any '/' => sub {
my $self = shift;
$self->render( 'index', rows => [ [] ] );
};
# setup websocket message handler
use Mojolicious::Lite;
plugin CGI => [ "/cgi-bin/script" => "cgi-bin/forms/word_binner.pl " ];
# Upload form in DATA section
get '/' => 'form';
# Multipart upload handler
post '/upload' => sub {
use Mojolicious::Lite;
plugin CGI => [ "/working" => "./cgi-bin/basic.pl" ];
plugin CGI => {
route => '/works/too',
run => sub {
print "HTTP/1.1 200 OK\r\n";
print "Content-Type: text/html; charset=ISO-8859-1\r\n";
print "\r\n";
print "<body><p>Hi!\n";
},
@dmr3
dmr3 / index.pl
Last active August 8, 2016 19:00 — forked from dvinciguerra/index.pl
Mojolicious::Lite and Ajax Example
#!/usr/bin/env perl
use DateTime;
use Mojolicious::Lite;
get '/' => 'index';
get '/service/datetime' => sub {
my $self = shift;
my $dt = DateTime->now;