rtyug

rtyug
Рейтинг
263
Регистрация
13.05.2009
Должность
perl,php,sql,javascript(jquery),freebsd/linux
Интересы
perl,php,sql,javascript(jquery),freebsd/linux
https://minfin.com.ua/blogs/94589307/115366/
RSV:
Установил 5.10 версию все равно такое пишет

C:\Documents and Settings\*******>perl skript.pl
Can't locate IO/Socket/SSL.pm in @INC (@INC contains: G:/Program Files/Perl/site
/lib G:/Program Files/Perl/lib .) at skript.pl line 16.
BEGIN failed--compilation aborted at skript.pl line 16.

где находится IO/Socket/SSL.pm ???

пропишите путь к IO...

use lib 'G:/Program Files/Perl/site'; # путь к IO т.е. G:/Program Files/Perl/site/IO/Socket/SSL.pm

use IO::Socket;

NasMnogo-Mbl-Sila, это зависит от того что ты хочешь написать...!!

ты можешь писать свои скрипты на perl в слиле java или бейзик!

сложные и средние алгоримты, конечно не сможешь быстро научиться за 21 день

короче, можешь любой выучить, или 2 ЯП одновременно (например, php и perl, или другие)

Программист - это человекообразный интерфейс между хотелками бизнесменов и возможностями компьютеров. ©

вот эта девка на perl программирует :D

кто хочет 125k$? :D

Location: United States, CA, Santa Clara
Pay rate: 80,000-125,000 USD

brainfuck .

Himiko, ты спрашиваешь про любой все возможнный дата центр? :)

или чтобы порекомендовали?

ну вот один проект тут сидит http://www.fdcservers.net/virtual_servers.php и тут advancedhosters.com

на проекте почти 10млн больших файликов :)

точно таких же как fdcservers.net еще много

на счет оплаты я не понмю...

ну в гугле нормально есть по запросу "кластерный хостинг"

http://www.google.com.ua/search?q=%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B9+%D1%85%D0%BE%D1%81%D1%82%D0%B8%D0%BD%D0%B3&hl=ru&prmd=iv&ei=ufP-TNGqEIS38QPF7YyNCw&start=0&sa=N

в большой компании, руководство может поднять рассмотреть такой вопрос в качестве иновационного решения :)

netwind, точно не могу сказать, можно попробовать sleep (или как-то еще) и использовать бд, записывать туда кто начинает скачать и кто скачал...

nginx работает как демон, имеет встреонный perl и загружет динамически код, заблокировать не должен, начинает отдать файл после выполнения handler, хотя точно не знаю как будет...

в любом случае можно поставить максимально количество скачиваний в очереде, очередь в миллион скачиваний же не будет?

думаю, что можно на ipfw сделать...

/* 

* Copyright (C) Igor Sysoev
*/


#ifndef _NGX_HTTP_PERL_MODULE_H_INCLUDED_
#define _NGX_HTTP_PERL_MODULE_H_INCLUDED_


#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
#include <nginx.h>

#include <EXTERN.h>
#include <perl.h>


typedef ngx_http_request_t *nginx;

typedef struct {
ngx_str_t filename;
ngx_str_t redirect_uri;
ngx_str_t redirect_args;

SV *next;

ngx_uint_t done; /* unsigned done:1; */

ngx_array_t *variables; /* array of ngx_http_perl_var_t */

#if (NGX_HTTP_SSI)
ngx_http_ssi_ctx_t *ssi;
#endif
} ngx_http_perl_ctx_t;


typedef struct {
ngx_uint_t hash;
ngx_str_t name;
ngx_str_t value;
} ngx_http_perl_var_t;


extern ngx_module_t ngx_http_perl_module;

/*
* workaround for "unused variable `Perl___notused'" warning
* when building with perl 5.6.1
*/
#ifndef PERL_IMPLICIT_CONTEXT
#undef dTHXa
#define dTHXa(a)
#endif


extern void boot_DynaLoader(pTHX_ CV* cv);


void ngx_http_perl_handle_request(ngx_http_request_t *r);
void ngx_http_perl_sleep_handler(ngx_http_request_t *r);


#endif /* _NGX_HTTP_PERL_MODULE_H_INCLUDED_ */


тут вот еще какой-то timedout, ну попробовать можно... :)

void

ngx_http_perl_sleep_handler(ngx_http_request_t *r)
{
ngx_event_t *wev;

ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"perl sleep handler");

wev = r->connection->write;

if (wev->timedout) {
wev->timedout = 0;
ngx_http_perl_handle_request(r);
return;
}

if (ngx_handle_write_event(wev, 0) != NGX_OK) {
ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
}
}

netwind:
rtyug, у такой схемы низкий порог масштабируемости. Он думает, что один аккаунт начнет потреблять столько ресурсов, что единичного сервера не хватит. Ну и надежности повышенной хочется.
Но я думаю, что такой клиент просто сбежит, чем будет платить за специальный супертариф кластерного виртуального хостинга. Такому клиенту выгодней арендовать выделенный сервер и заняться оптимизацией. На своем сервере это гораздо удобнее.

понятно, тут скоре всего если серверов будет 10-20-30 штук, то может будет выгода, а если 2-3-4, то разница минимальная...

если нельзя через опции встроенные, то думаю что можно через API...

перед тем как отдается файлы можно сделать какие действия, наприер, на паузу поставить и т.д.

package download;                                                                                                                                            

use strict;
use nginx;
use Crypt::HCE_MD5;

my $dl_key = "re2lgr5";
my $upload_dir="/home/file/cgi-bin/uploads";

sub handler {
my $r = shift;

my $hce = Crypt::HCE_MD5->new($dl_key,"XFile");
($_) = $r->filename=~/\/(\w+)\/[^\/]+$/;
my $l;
tr|a-z2-7|\0-\37|;
$_=unpack('B*',$_);
s/000(.....)/$1/g;
$l=length;
$_=substr($_,0,$l & ~7) if $l & 7;
$_=pack('B*',$_);

my ($srv_id,$file_id,$usr_id,$dx,$id,$dmode,$i1,$i2,$i3,$i4,$expire) = unpack("SLLSA12AC4L", $hce->hce_block_decrypt($_) );
$dx=sprintf("%05d",$dx);

if($r->remote_addr !~ /^$i1\.$i2\./)
{
$r->internal_redirect("/error_wrong_ip.html");
}
elsif($expire<time)
{
$r->internal_redirect("/error_expired.html");
}
elsif(!-f "$upload_dir/$dx/$id")
{
$r->internal_redirect("/error_nofile.html");
}
else
{
$r->header_out("Content-Disposition","attachment");
$r->internal_redirect("/download_$dmode/$dx/$id?id=$file_id&usr=$usr_id".$r->args);
}

return OK;
}

1;

      location /d/ {                                                          

perl download::handler;
}

gdb

дамп отлаки можно посмотереть, если оно включено...

Всего: 2062