новые параметры
-я, --starttime времени дня, чтобы начать добычу (в формате ЧЧММЫ по умолчанию: 2100)
-е, --stoptime время дня, чтобы остановить добычу (в формате ЧЧММ по умолчанию: 0800)
Мне нужно это изменения в горнодобывающую промышленность на моих серверах по ночам
я veriffied это только на окнах
это является патч для Pooler-cpuminer-2.3.2
https://docs.google.com/file/d/0B77YthddIabZQkhaSl8zTFo4UUU/edit?usp=sharing
CPU-miner.c
Код:
дифф U3B CPU-miner.c CPU-miner.c
--- CPU-miner.c Ср 10 июля 2013 15:00:52
+++ CPU-miner.c Пн 7 октября 2013 00:13:55
@@ -41,6 +41,8 @@
#define program_name "minerd"
#define DEF_RPC_URL "http://127.0.0.1:9332/"
#define LP_SCANTIME 60
+#define TIME_START +1260
+#define TIME_STOP 480
#ifdef __linux / * Linux конкретная политика и управление сродства * /
#включают
@@ -143,6 +145,12 @@
структура work_restart * work_restart = NULL;
статическая структура stratum_ctx слоя;
+// целочисленные значения минут для simplifie calcules 19:37 = 19 * 60 + 37
+статические INT TIME_START = TIME_START;
+статические INT time_stop = TIME_STOP;
+статические INT time_to_sleep = 0;
+
+
pthread_mutex_t applog_lock;
pthread_mutex_t stats_lock;
@@ -178,6 +186,8 @@
(По умолчанию: повторять до бесконечности) \ п \
-R, --retry-пауза = N раз, чтобы сделать паузу между попытками, в секундах (по умолчанию: 30) \ N \
-Т, --timeout = N сетевой тайм-аут, в секундах (по умолчанию: 270) \ N \
+ -я, --starttime время дня, чтобы начать добычу (в формате ЧЧММ по умолчанию: 2100) \ п \
+ -е, --stoptime время дня, чтобы остановить добычу (в формате ЧЧММ по умолчанию: 0800) \ п \
-с, --scantime = N верхняя граница времени, проведенного сканирования текущей работы, когда \ N \
длинный опрос недоступен, в секундах (по умолчанию: 5) \ п \
--нет-longpoll отключить X-Long-опрос поддержки \ п \
@@ -236,6 +246,8 @@
{ "URL", 1, NULL, 'о'},
{ "пользователь", 1, NULL, 'и'},
{ "UserPass", 1, NULL, 'O'},
+ { "время начала", 1, NULL, 'я'},
+ { "остановить время", 1, NULL, 'F'},
{ "версия", 0, NULL, 'V'},
{0, 0, 0, 0}
};
@@ -696,6 +708,13 @@
}
в то время как (1) {
+ time_to_sleep = pause_interval (TIME_START, time_stop);
+ если (time_to_sleep>0)
+ {
+ applog (LOG_INFO, "Пауза на обед в% д ы", Пора спать);
+ сна (time_to_sleep);
+ applog (LOG_INFO, "END PAUSE должен работать ");
+ }
неподписанных долгое hashes_done;
структура tv_start формата: первый формат, tv_end, разн;
int64_t max64;
@@ -854,7 +873,9 @@
в то время как (1) {
json_t * вал, * Совал;
INT заблуждается;
-
+ если (time_to_sleep)
+ сна (time_to_sleep);
+
Val = json_rpc_call (локон, lp_url, rpc_userpass, rpc_req,
false true, &ERR);
если (have_stratum) {
@@ -944,6 +966,8 @@
applog (LOG_INFO, "Начиная Stratum на% с", Stratum.url);
в то время как (1) {
+ если (time_to_sleep)
+ сна (time_to_sleep);
Int неудачи = 0;
в то время как (! stratum.curl) {
@@ -1177,6 +1201,18 @@
ломать;
случай 'S':
use_syslog = TRUE;
+ ломать;
+ случай «я»:
+ V = atoi (Arg);
+ если (ст <= 0 || v > 2359) /* санитарная проверка */
+ show_usage_and_exit (1);
+ TIME_START = (V / 100) * 60 + (v% 100);
+ ломать;
+ Case 'F':
+ V = atoi (Arg);
+ если (ст <= 0 || v > 2359) /* санитарная проверка */
+ show_usage_and_exit (1);
+ time_stop = (V / 100) * 60 + (v% 100);
ломать;
Case 'V':
show_version_and_exit ();
--- CPU-miner.c Ср 10 июля 2013 15:00:52
+++ CPU-miner.c Пн 7 октября 2013 00:13:55
@@ -41,6 +41,8 @@
#define program_name "minerd"
#define DEF_RPC_URL "http://127.0.0.1:9332/"
#define LP_SCANTIME 60
+#define TIME_START +1260
+#define TIME_STOP 480
#ifdef __linux / * Linux конкретная политика и управление сродства * /
#включают
@@ -143,6 +145,12 @@
структура work_restart * work_restart = NULL;
статическая структура stratum_ctx слоя;
+// целочисленные значения минут для simplifie calcules 19:37 = 19 * 60 + 37
+статические INT TIME_START = TIME_START;
+статические INT time_stop = TIME_STOP;
+статические INT time_to_sleep = 0;
+
+
pthread_mutex_t applog_lock;
pthread_mutex_t stats_lock;
@@ -178,6 +186,8 @@
(По умолчанию: повторять до бесконечности) \ п \
-R, --retry-пауза = N раз, чтобы сделать паузу между попытками, в секундах (по умолчанию: 30) \ N \
-Т, --timeout = N сетевой тайм-аут, в секундах (по умолчанию: 270) \ N \
+ -я, --starttime время дня, чтобы начать добычу (в формате ЧЧММ по умолчанию: 2100) \ п \
+ -е, --stoptime время дня, чтобы остановить добычу (в формате ЧЧММ по умолчанию: 0800) \ п \
-с, --scantime = N верхняя граница времени, проведенного сканирования текущей работы, когда \ N \
длинный опрос недоступен, в секундах (по умолчанию: 5) \ п \
--нет-longpoll отключить X-Long-опрос поддержки \ п \
@@ -236,6 +246,8 @@
{ "URL", 1, NULL, 'о'},
{ "пользователь", 1, NULL, 'и'},
{ "UserPass", 1, NULL, 'O'},
+ { "время начала", 1, NULL, 'я'},
+ { "остановить время", 1, NULL, 'F'},
{ "версия", 0, NULL, 'V'},
{0, 0, 0, 0}
};
@@ -696,6 +708,13 @@
}
в то время как (1) {
+ time_to_sleep = pause_interval (TIME_START, time_stop);
+ если (time_to_sleep>0)
+ {
+ applog (LOG_INFO, "Пауза на обед в% д ы", Пора спать);
+ сна (time_to_sleep);
+ applog (LOG_INFO, "END PAUSE должен работать ");
+ }
неподписанных долгое hashes_done;
структура tv_start формата: первый формат, tv_end, разн;
int64_t max64;
@@ -854,7 +873,9 @@
в то время как (1) {
json_t * вал, * Совал;
INT заблуждается;
-
+ если (time_to_sleep)
+ сна (time_to_sleep);
+
Val = json_rpc_call (локон, lp_url, rpc_userpass, rpc_req,
false true, &ERR);
если (have_stratum) {
@@ -944,6 +966,8 @@
applog (LOG_INFO, "Начиная Stratum на% с", Stratum.url);
в то время как (1) {
+ если (time_to_sleep)
+ сна (time_to_sleep);
Int неудачи = 0;
в то время как (! stratum.curl) {
@@ -1177,6 +1201,18 @@
ломать;
случай 'S':
use_syslog = TRUE;
+ ломать;
+ случай «я»:
+ V = atoi (Arg);
+ если (ст <= 0 || v > 2359) /* санитарная проверка */
+ show_usage_and_exit (1);
+ TIME_START = (V / 100) * 60 + (v% 100);
+ ломать;
+ Case 'F':
+ V = atoi (Arg);
+ если (ст <= 0 || v > 2359) /* санитарная проверка */
+ show_usage_and_exit (1);
+ time_stop = (V / 100) * 60 + (v% 100);
ломать;
Case 'V':
show_version_and_exit ();
miner.h
Код:
дифф U3B miner.h miner.h
--- miner.h Ср 10 июля 2013 15:00:52
+++ miner.h Вс 6 октября 2013 9:27:04
@@ -190,7 +190,8 @@
ехЬегп символ * bin2hex (Const символ без знака * р, size_t длина);
ехЬегп BOOL HEX2BIN (неподписанные символ * р, Const символ * hexstr, size_t длина);
ехЬегп INT timeval_subtract (структура * результат формата: первый формат, структура * х формата: первый формат,
- структура * у формата: первый формат);
+ структура * у формата: первый формат);
+ехЬегп INT pause_interval (INT время_запуска, Int EndTime);
ехЬегп BOOL fulltest (Const uint32_t * хэш, Const uint32_t * мишень);
ехЬегп недействительный diff_to_target (uint32_t * мишень, двойной дифференциал);
--- miner.h Ср 10 июля 2013 15:00:52
+++ miner.h Вс 6 октября 2013 9:27:04
@@ -190,7 +190,8 @@
ехЬегп символ * bin2hex (Const символ без знака * р, size_t длина);
ехЬегп BOOL HEX2BIN (неподписанные символ * р, Const символ * hexstr, size_t длина);
ехЬегп INT timeval_subtract (структура * результат формата: первый формат, структура * х формата: первый формат,
- структура * у формата: первый формат);
+ структура * у формата: первый формат);
+ехЬегп INT pause_interval (INT время_запуска, Int EndTime);
ехЬегп BOOL fulltest (Const uint32_t * хэш, Const uint32_t * мишень);
ехЬегп недействительный diff_to_target (uint32_t * мишень, двойной дифференциал);
util.c
Код:
дифф U3B util.c util.c
--- util.c Чт 4 июля 16:21:22 2013
+++ util.c Пн 7 октября 2013 00:29:49
@@ -35,6 +35,8 @@
#включают "miner.h"
#включают "elist.h"
+#включают
+
структура data_buffer {
недействительным * ЬиЕ;
size_t Len;
@@ -511,6 +513,25 @@
/ * Возврат 1, если результат отрицательный. * /
вернуться x->tv_sec < y->tv_sec;
+}
+
+INT pause_interval (интермедиат время_запуска, внутр время окончания)
+{
+ INT pause_hours = 0, pause_mins = 0;
+
+ INT loc_time;
+ time_t т = время (NULL);
+ структура тм * TBuf = LocalTime (&т);
+ loc_time = tbuf->tm_hour * 60 + tbuf->tm_min;
+
+ если ((STARTTIME > время окончания && loc_time>время окончания && loc_time<время_запуск) ||
+ (время начала < время окончания && (loc_time<время_запуска || loc_time>время окончания)))
+ {
+ pause_mins = время_запуск-loc_time;
+ если (pause_mins<0)
+ pause_mins + = 60 * 24;
+ }
+ вернуться pause_mins * 60;
}
BOOL fulltest (Const uint32_t * хэш, Const uint32_t * мишень)
--- util.c Чт 4 июля 16:21:22 2013
+++ util.c Пн 7 октября 2013 00:29:49
@@ -35,6 +35,8 @@
#включают "miner.h"
#включают "elist.h"
+#включают
+
структура data_buffer {
недействительным * ЬиЕ;
size_t Len;
@@ -511,6 +513,25 @@
/ * Возврат 1, если результат отрицательный. * /
вернуться x->tv_sec < y->tv_sec;
+}
+
+INT pause_interval (интермедиат время_запуска, внутр время окончания)
+{
+ INT pause_hours = 0, pause_mins = 0;
+
+ INT loc_time;
+ time_t т = время (NULL);
+ структура тм * TBuf = LocalTime (&т);
+ loc_time = tbuf->tm_hour * 60 + tbuf->tm_min;
+
+ если ((STARTTIME > время окончания && loc_time>время окончания && loc_time<время_запуск) ||
+ (время начала < время окончания && (loc_time<время_запуска || loc_time>время окончания)))
+ {
+ pause_mins = время_запуск-loc_time;
+ если (pause_mins<0)
+ pause_mins + = 60 * 24;
+ }
+ вернуться pause_mins * 60;
}
BOOL fulltest (Const uint32_t * хэш, Const uint32_t * мишень)
Im новичок на этом форуме, но я надеюсь, что кто-нибудь написать
-------------------------
Извините за мой плохой английский