annotate pylons_app/config/deployment.ini_tmpl @ 530:a08f610e545e

Implemented server side forks added ability to pass session to user/repo models
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 01 Oct 2010 00:16:09 +0200
parents 91292686c1ed
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
1 ################################################################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
2 ################################################################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
3 # hg-app - Pylons environment configuration #
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
4 # #
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
5 # The %(here)s variable will be replaced with the parent directory of this file#
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
6 ################################################################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
7
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
8 [DEFAULT]
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
9 debug = true
472
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
10 ################################################################################
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
11 ## Uncomment and replace with the address which should receive ##
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
12 ## any error reports after application crash ##
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
13 ## Additionally those settings will be used by hg-app mailing system ##
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
14 ################################################################################
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
15 #email_to = admin@localhost
472
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
16 #error_email_from = paste_error@localhost
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
17 #app_email_from = hg-app-noreply@localhost
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
18 #error_message =
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
19
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
20 #smtp_server = mail.server.com
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
21 #smtp_username =
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
22 #smtp_password =
472
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
23 #smtp_port =
91292686c1ed updated config files, and added celery dependency
Marcin Kuzminski <marcin@python-works.com>
parents: 456
diff changeset
24 #smtp_use_tls = false
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
25
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
26 [server:main]
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
27 ##nr of threads to spawn
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
28 threadpool_workers = 5
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
29
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
30 ##max request before thread respawn
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
31 threadpool_max_requests = 2
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
32
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
33 ##option to use threads of process
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
34 use_threadpool = true
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
35
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
36 use = egg:Paste#http
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
37 host = 127.0.0.1
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
38 port = 8001
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
39
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
40 [app:main]
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
41 use = egg:pylons_app
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
42 full_stack = true
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
43 static_files = false
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
44 lang=en
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
45 cache_dir = %(here)s/data
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
46 app_instance_uuid = ${app_instance_uuid}
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
47
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
48 ####################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
49 ### BEAKER CACHE ####
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
50 ####################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
51 beaker.cache.data_dir=/%(here)s/data/cache/data
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
52 beaker.cache.lock_dir=/%(here)s/data/cache/lock
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
53 beaker.cache.regions=super_short_term,short_term,long_term
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
54 beaker.cache.long_term.type=memory
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
55 beaker.cache.long_term.expire=36000
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
56 beaker.cache.short_term.type=memory
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
57 beaker.cache.short_term.expire=60
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
58 beaker.cache.super_short_term.type=memory
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
59 beaker.cache.super_short_term.expire=10
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
60
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
61 ####################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
62 ### BEAKER SESSION ####
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
63 ####################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
64 ## Type of storage used for the session, current types are
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
65 ## dbm, file, memcached, database, and memory.
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
66 ## The storage uses the Container API
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
67 ##that is also used by the cache system.
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
68 beaker.session.type = file
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
69
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
70 beaker.session.key = hg-app
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
71 beaker.session.secret = ${app_instance_secret}
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
72 beaker.session.timeout = 36000
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
73
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
74 ##auto save the session to not to use .save()
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
75 beaker.session.auto = False
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
76
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
77 ##true exire at browser close
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
78 #beaker.session.cookie_expires = 3600
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
79
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
80
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
81 ################################################################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
82 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
83 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
84 ## execute malicious code after an exception is raised. ##
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
85 ################################################################################
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
86 set debug = false
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
87
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
88 ##################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
89 ### LOGVIEW CONFIG ###
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
90 ##################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
91 logview.sqlalchemy = #faa
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
92 logview.pylons.templating = #bfb
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
93 logview.pylons.util = #eee
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
94
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
95 #########################################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
96 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
97 #########################################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
98 sqlalchemy.db1.url = sqlite:///%(here)s/hg_app.db
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
99 #sqlalchemy.db1.echo = False
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
100 #sqlalchemy.db1.pool_recycle = 3600
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
101 sqlalchemy.convert_unicode = true
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
102
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
103 ################################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
104 ### LOGGING CONFIGURATION ####
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
105 ################################
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
106 [loggers]
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
107 keys = root, routes, pylons_app, sqlalchemy
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
108
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
109 [handlers]
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
110 keys = console
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
111
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
112 [formatters]
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
113 keys = generic,color_formatter
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
114
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
115 #############
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
116 ## LOGGERS ##
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
117 #############
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
118 [logger_root]
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
119 level = INFO
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
120 handlers = console
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
121
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
122 [logger_routes]
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
123 level = INFO
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
124 handlers = console
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
125 qualname = routes.middleware
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
126 # "level = DEBUG" logs the route matched and routing variables.
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
127
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
128 [logger_pylons_app]
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
129 level = DEBUG
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
130 handlers = console
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
131 qualname = pylons_app
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
132 propagate = 0
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
133
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
134 [logger_sqlalchemy]
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
135 level = ERROR
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
136 handlers = console
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
137 qualname = sqlalchemy.engine
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
138 propagate = 0
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
139
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
140 ##############
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
141 ## HANDLERS ##
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
142 ##############
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
143
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
144 [handler_console]
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
145 class = StreamHandler
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
146 args = (sys.stderr,)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
147 level = NOTSET
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
148 formatter = color_formatter
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
149
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
150 ################
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
151 ## FORMATTERS ##
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
152 ################
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
153
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
154 [formatter_generic]
456
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
155 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
156 datefmt = %Y-%m-%d %H:%M:%S
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
157
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
158 [formatter_color_formatter]
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
159 class=pylons_app.lib.colored_formatter.ColorFormatter
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
160 format= %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
6b54caa8b074 update setup script and config tmpl
Marcin Kuzminski <marcin@python-works.com>
parents: 0
diff changeset
161 datefmt = %Y-%m-%d %H:%M:%S